1. 기본 구조
$ docker 커맨드 [옵션] 대상 [인자]
- 커맨드는 상위 커맨드(무엇을)와 하위 커맨드(어떻게)로 나뉨
- 옵션은 커맨드의 세세한 설정을 지정
- 대상은 구체적인 이름을 지정
- 인자는 대상에 전달할 값을 지정
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)란 (0) | 2022.11.15 |
---|