도커 시작하기


도커 시작하기

도커를 컴퓨터에서 설치하는 방법에는 3가지가 있다.

  1. 운영체제가 리눅스인 컴퓨터에 설치

  2. VMWare, VirtualBox 등 가상머신에 리눅스를 설치 후 도커 설치

  3. 윈도우, 맥 전용 Docker Desktop 설치

나는 3번 방법을 선택했는데 리눅스를 따로 설치할 컴퓨터도 없고, 가상머신은 너무 무겁기 때문이다.

어차피 도커를 한번 경험 해본다는 생각으로 써볼 계획이라 3번이 가장 적절한 방법이라고 생각했다.

도커 명령어

도커의 명령어는 다음과 같은 형식으로 이루어진다.

docker 커맨드 (옵션) 대상 (인자)

커맨드에는 상위 커맨드와 하위 커맨드가 있으며 상위 커맨드는 container, image, volume, network나 도커 스웜과 관련된 커맨드이고, 하위 커맨드는 pull, run, stop 등 상위 커맨드의 조작과 관련된 커맨드이다.

모든 도커 명령어는 docker로 시작한다.


상위 커맨드

커맨드설명
container도커 컨테이너를 관리
image도커 이미지를 관리
volume도커 볼륨을 관리
network도커 네트워크를 관리
checkpoint현재 상태를 저장, 나중에 해당 시점으로 되돌릴 수 있음
node도커 스웜의 노드를 관리
secret도커 스웜의 비밀 값을 관리
stack도커 스웜 또는 쿠버네티스에서 여러 개의 서비스를 합쳐 구성한 스택 관리
swarm도커 스웜 관리
system도커 엔진 정보 확인

컨테이너 하위 커맨드

커맨드설명
start컨테이너 실행
stop컨테이너 정지
create도커 이미지로부터 컨테이너 생성
run도커 이미지를 내려받고 컨테이너를 생성해서 실행
exec실행 중인 컨테이너 속에서 프로그램 실행
ls컨테이너 목록 출력
cp도커 컨테이너와 도커 호스트 간 파일 복사
commit도커 컨테이너를 이미지로 변환

docker container run 명령어는 docker image pull, docker container create, docker container start 3가지 명령어가 합쳐진 것이다.


이미지 하위 커맨드

커맨드설명
pull도커 허브 등의 리포지토리에서 이미지를 내려받음
rm저장된 도커 이미지 삭제
ls내려 받은 이미지 목록 출력
build도커 이미지 생성

볼륨 하위 커맨드

커맨드설명
create볼륨 생성
inspect볼륨 상세 정보 출력
ls볼륨 목록 출력
prune현재 마운트 되지 않은 볼륨 모두 삭제
rm지정한 볼륨 삭제

네트워크 하위 커맨드

커맨드설명
connect컨테이너를 도커 네트워크에 연결
disconnect컨테이너의 도커 네트워크 연결 해제
create도커 네트워크 생성
inspect도커 네트워크 상세 정보 출력
ls도커 네트워크 목록 출력
prune현재 네트워크가 접속하지 않은 네트워크 모두 삭제
rm지정한 네트워크 삭제

상위 커맨드 없이 단독으로 쓰이는 커맨드

커맨드설명
login도커 레지스트리에 로그인
logout도커 레지스트리에 로그아웃
search도커 레지스트리 검색
version도커 엔진 및 명령행 도구 버전 출력

컨테이너 라이프 사이클

생성 => 실행 => 종료 => 폐기

컨테이너는 쓰고 버리는 일회용품으로 매우 쉽게 만들 수 있기 때문에 하나의 컨테이너를 업데이트해가며 계속 사용하는 것 보다는 업데이트된 소프트웨어가 들어있는 새 컨테이너를 생성하는 것이 좋다.


컨테이너 생성

docker run = docker image pull + dockere container create + docker container start

docker run (옵션) 이미지 (인자)
옵션설명
--name컨테이너 이름
--p포트 번호
--v볼륨 마운트
--net네트워크
-e 환경변수_이름=값환경변수 설정
-d백그라운드로 실행
-i컨테이너에 터미널(키보드) 연결
-t특수 키 사용 가능하도록 설정
-help사용 방법 안내 메시지 출력

인자는 이미지의 종류에 따라 달라진다.


컨테이너 정지

docker stop 컨테이너_이름

컨테이너 삭제

docker rm 컨테이너_이름 `` <br /> ### 실행 중인 컨테이너 목록 ```bash docker ps (옵션) docker container ls (옵션)

-a 옵션을 추가하면 현재 존재하는 모든 컨테이너의 목록을 출력한다.


컨테이너 목록의 정보

이름설명
CONTAINER_ID컨테이너 식별자, 무작위 문자열 할당, 본래 64글자이지만 앞에서 12글자만 출력
IMAGE컨테이너를 만들 때 사용한 이미지 이름
COMMAND컨테이너 실행 시에 실행하도록 설정된 프로그램 이름
CREATED컨테이너 생성 후 경과된 시간
STATUS컨테이너의 현재 상태, UP-실행, EXCITED-종료
PORTS컨테이너에 할당된 포트 번호
NAMES컨테이너 이름