티스토리 뷰

Programming/Tools

Docker 정리하기 <1>

prograsshopper_ 2019. 9. 12. 23:35
  • 도커를 사용하면 개발환경 설치하는 것이 훨씬 쉬워진단 말을 듣고 계속 공부해야겠다고는 생각하고 있었다. 하지만 아무것도 모르는 상태에서 책을 보고 있으니 막막한 상태였었는데,  마침 양재동코드랩에서 도커 수업이 있어 들을 수 있었고 이제 약간이나마 알게 되었으니 정리해보려고 한다.

 

Docker란?

  • 컨테이너 가상화 플랫폼

호스트 가상화: 호스트 OS 위에 게스트OS를 구동하는 방식. Virtual Box가 해당 사항 사용

하이퍼바이저 가상화: 하드웨어 위에 가상화 전문 소프트웨어인 하이퍼바이저를 설치하고 그 위에 가상환경 구동. Hyper-V 가 해당 기술 사용

  • 도커의 경우에는 호스트OS 상에서 구역을 나눠 애플리케이션 동작을 위한 라이브러리 등을 컨테이너(Package software into standardized Units for development, shipment and deployment) 내에 집어넣고 개별 서버처럼 사용하는 컨테이너 가상화를 사용(OS를 가상화하지 않고 직접 호스트 os의 자원을 사용). 별도의 os 설치 안함 -> 이미지가 작음 

  • 기존 기술에 비해 오버헤드가 적다!

*이미지와 컨테이너
- 이미지 :  서버구성에 필요한 파일들을 묶어 놓은 것, 배포의 단위
- 컨테이너는 이미지를 실행한 형태

-> 프로그램과 프로세스의 관계로 이해하면 됨



Docker 설치하기

  1. 각 운영체제에 맞게 도커를 설치한다. (링크 : https://www.docker.com/products/docker-desktop). 설치가 끝나고 나면 터미널상에서 ‘docker --version’을 쳐보자. 이 때 Docker version 19.03.2, build 6a30dfc 식으로 뜨면 도커 설치가 된 것이다.

  2. 도커 허브(링크 : https://hub.docker.com/)에 가입한다. 도커 허브에서 필요한 이미지들을 검색하고 다운받을 수 있다.

Docker 명령어

  • 항상 root 권한으로 실행

  • docker 명령어에 옵션을 조합하여 실행:  docker + (command) 의 형식

- Run : 컨테이너 생성

- Build : 이미지 빌딩

- Pull : 이미지 다운

 

 

Docker CLI

docker ps

  • 실행중인 도커의 종류와 상태 확인 가능

  • 멈춘 도커 컨테이너도 확인하고 싶다면 docker ps -a 라고 치면 됨

docker exec -it <컨테이너명> <작업>

  • docker exec : 특정 명령을 실행해라. -it는 인터렉티브하게 실행

  • ex) docker exec -it <컨테이너명> /bin/bash 

docker run <option>

  • 이미지를 컨테이너로 만들고 실행하기

  • ex) docker run -i -t --name <이름> -d(dev mod) <이미지명> *여기서 이름 안 정해주면 도커가 지멋대로 이상한 이름을 지어주므로 엔간하면 알아서 지어주는 것이 좋다

docker logs -ft <container>

  •  -ft 옵션을 주면 실행이후에 발생하는 로그도 계속 볼 수 있음. 안주면 현재시점까지의 로그만 보여줌

이 외의 주요 명령어

  • docker attach

  • docker build -t <username>/<image_name>:<TAG> ./

  • docker commit <container> <username>/<image_name>:<TAG>

 

.dockerignore

  • 도커파일 작성시 무시해야하는 파일의 형식 지정

  • Context의 root dir에 위치

  • 이미지를 크게 만들거나 보안으로 인해 넣으면 안되는 부분들...

docker run -it --rm [node, python, …]

-해당 이미지가 없으면 다운받아서 실행하고 종료시 바로 삭제 -> 랭귀지 공부에 유용

반응형
댓글