1. 기본 구조

$ docker 커맨드 [옵션] 대상 [인자]

- 커맨드는 상위 커맨드(무엇을)와 하위 커맨드(어떻게)로 나뉨

- 옵션은 커맨드의 세세한 설정을 지정

- 대상은 구체적인 이름을 지정

- 인자는 대상에 전달할 값을 지정

[사진 1] 도커 라이프사이클

 

2. 컨테이너 조작 관련 커맨드 (상위 커맨드 container)

- 컨테이너를 실행하거나 종료하고, 목록을 확인하는 등 컨테이너를 다루기 위해 사용

- 생략 가능 커맨드는 "docker 하위 커맨드"로 실행 가능

- ls의 생략형은 ps (예시 : docker ps -a)

하위 커맨드 내용 생략 가능 여부 주요 옵션 설명
start 컨테이너 실행 O -a STDOUT/STDERR 및 순방향 신호 연결
-i 컨테이너의 STDIN 연결
stop 컨테이너 중지
컨테이너를 삭제하려면 반드시 중지해야함
O - -
create 도커 이미지로부터 컨테이너 생성 O --name 컨테이너 이름 지정
-e 환경변수 설정
-p 포트 번호 지정
-v 볼륨 마운트
run 도커 이미지를 내려받고 컨테이너를 생성 실행
docker image pull, docker contauner create, docker container start 명령을 하나로 합친 것과 같음
O --name --name 컨테이너 이름
컨테이너 이름 지정
-p -p 호스트 포트번호:컨테이너 포트번호
포트번호 지정
-v -v 호스트 디스크:컨테이너 디렉터리
볼륨 마운트
--net --net 네트워크 이름
컨테이너를 네트워크에 연결
-e -e 환경변수 이름=값
환경변수 설정
-d 백그라운드 실행
-i 컨테이너에 터미널(키보드)을 연결
-t 특수 키를 사용 가능하도록 함
-help 사용 방법 안내
rm 정지 상태의 컨테이너 삭제 O -f 실행 중인 컨테이너 강제 제거(SIGKILL 사용)
-v 컨테이너와 연결된 익명 볼륨 제거
exec 실행중인 컨테이너 속에서 프로그램을 실행 O -i 컨테이너에 터미널(키보드)을 연결
-t 유사 TTY 할당
ls 컨테이너 목록 출력 O -a 모든 컨테이너 목록 출력
CONTAINER ID : 식별자
IMAGE : 컨테이너 생성 시 사용한 이미지 이름
COMMAND : 컨테이너 실행 시에 실행하도록 설정된 프로그램 이름
CREATED : 컨테이너 생성 후 경과 시간
STATUS : 컨테이너의 현재 상태
PORTS : 컨테이너에 할당된 포트
NAMES : 컨테이너 이름
cp 도커 컨테이너와 도커 호스트 간 파일 복사 O - -
commit 도커 컨테이너를 이미지로 변환 O - -

 

3. 이미지 조작 관련 커맨드 (상위 커맨드 image)

- 이미지를 내려받거나 검색하는 등 이미지와 관련된 기능을 실행

- 생략 가능 커맨드는 "docker 하위 커맨드"로 실행 가능

- rm의 생략형은 rmi (예시 : docker rmi)

하위 커맨드 내용 생략 가능 여부  주요 옵션 설명
pull 이미지 내려 받기 O - -
rm 이미지 삭제 O - -
ls 이미지의 목록 출력 X - -
build 이미지 생성 O -t 이름 및 선택적으로 'name:tag' 형식의 태그

 

4. 볼륨 조작 관련 커맨드 (상위 커맨드 volume)

- 볼륨 생성, 목록 확인, 삭제 등 볼륨과 관련된 기능을 실행

- 볼륨이란 컨테이너에 마운트 가능한 스토리지를 뜻함

하위 커맨드 내용 생략 가능 여부 주요 옵션  설명
create 볼륨 생성 X --name 볼륨 이름 지정
inspect 볼륨의 상세 정보 출력 X - -
ls 볼륨의 목록 출력 X -a 모든 볼륨 목록 출력
prune 현재 마운트되지 않은 볼륨 모두 삭제 X - -
rm 지정한 볼륨 삭제 X - -

 

5. 네트워크 조작 관련 커맨드 (상위 커맨드 network)

- 도커 네트워크의 생성, 삭제, 컨테이너의 네트워크 접속 및 접속 해제 등 도커 네트워크와 관련된 기능을 실행

- 도커 네트워크란 도커 요소간의 통신에 사용하는 가상 네트워크

하위 커맨드 내용 생략 가능 여부 주요 옵션  설명
connect 컨테이너를 도커 네트워크에 연결 X - -
disconnect 컨테너의 도커 네트워크 연결 해제 X - -
create 도커 네트워크 생성 X - -
inspect 도커 네트워크의 상세 정보 출력 X - -
ls 도커 네트워크의 목록 출력 X - -
prune 현재 컨테이너가 접속하지 않은 모든 네트워크 삭제 X - -
rm 지정한 네트워크 삭제 X - -

 

6. 그 밖의 상위 커맨드

상위 커맨드 내용
checkpoint 현재 상태를 일시적으로 저장한 후, 나중에 해당 시점의 상태로 되돌릴 수 있음
node 도커 스웜의 노드를 관리
plugin 플러그인을 관리
secret 도커 스웜의 비밀값 정보를 관리
service 도커 스웜의 서비스를 관리
stack 도커 스웜 또는 쿠버네티스에서 여러 개의 서비스를 합쳐 구성한 스택을 관리
swarm 도커 스웜을 관리
system 도커 엔진의 정보를 확인

 

7. 단독으로 쓰이는 커맨드

- 도커 허브의 검색이나 로그인에 사용되는 커맨드

단독 커맨드 내용 주요 옵션 설명
login 도커 레지스트리에 로그인 -u 계졍명
-p 패스워드
logout 도커 레지스트리에서 로그아웃 - -
search 도커 레지스트리 검색 - -
version 도커 엔진 및 명령행 도구의 버전 출력 - -

 

8. 참고

 

Docker run reference

 

docs.docker.com

 

'기타 > 도커' 카테고리의 다른 글

도커(Docker)란  (0) 2022.11.15

+ Recent posts