컨테이너 작업 은 도커 엔진 명령어로 수행 한다.
컨테이너 작업 은 도커 엔진 명령어로 수행 된다. 따라서 도커 엔진이 구동 중이어야 컨테이너 작업이 가능 하다. 윈도우 도커 데스크톱은 부팅 시 자동 실행되도록 기본 설정이 되어있고, 리눅스의 경우 도커 엔진이 자동 실행되도록 설정 가능하다.
일반적인 서버에서 도커 엔진을 정지시키는 경우는 없지만, 특정한 이유로 도커 엔진이 정지 된다면 내부에서 구동 중인 컨테이너는 모두 정지 된다.
Tip. 도커 엔진 구동/정지 및 자동 실행 설정
Window
구동 : 시작 메뉴에서 Docker Desktop 실행
정지 : 태스크 트레이에서 Docker Desktop 우클릭 후 Quit Docker Desktop
자동 실행 설정/해제 : 설정에서 Start Docker Desktop when you log in 체크/해제
Linux
구동 :sudo systemctl start docker
정지 :sudo systemctl stop docker
자동 실행 설정/해제 :sudo systemctl enable (or disable) docker
도커 명령 기본 구조 는
docker [무엇을] [~하자] [구체적 대상]
이다.
도커 명령의 기본 구조는 docker [무엇을] [~하자] [구체적 대상]
이다. 예를들어 아파치(httpd) 이미지로 컨테이너를 생성하는 명령어는 다음과 같다.
[root@host ~]# docker container create httpd
참고로 [무엇을]은 상위 커맨드, [~하자]는 하위 커맨드 이다. 하위 커맨드는 상위 커맨드에 따라 결정되며 자주 쓰이는 커맨드는 뒤에서 알아보자.
커맨드 에는 옵션, 구체적 대상 에는 인자 가 추가로 붙을 수 있다.
도커 명령에는 옵션, 인자 로 추가 정보를 넣을 수 있다. 순서는 docker [무엇을] [~하자] (옵션) [구체적 대상] (인자)
이다. 예를들어 container run 커맨드를 -d 옵션으로, httpd 이미지를 --mode=1 로 수행하는 명령은 다음과 같다.
[root@host ~]# docker container run -d httpd --mode=1
대표적인 상위 커맨드[무엇을] 은 container, image, volume, network 이다. 각 상위 커맨드와 관련된 하위 커맨드 목록을 정리해보자.
container 는 컨테이너 조작과 관련된 커맨드이다.
하위 커맨드 | 내용 | 주요 옵션 | 생략 시 |
---|---|---|---|
start | 컨테이너를 실행 | -i | |
stop | 컨테이너를 정지 | ||
create | 이미지로부터 컨테이너를 생성 | --name -e -p -v | |
run | image pull + create + start | --name -e -p -v -d -i -t | |
rm | 정지 상태의 컨테이너 삭제 | -f -v | |
inspect | 컨테이너의 상세 정보를 출력 | ||
exec | 실행 중인 컨테이너 내부로 명령어를 전송 | -i -t | |
ls | 컨테이너 목록 출력 | -a | docker ps |
cp | 도커 컨테이너와 도커 호스트 간 파일을 복사 | ||
commit | 컨테이너를 이미지로 변환 |
image 는 이미지 관련 기능을 실행하는 커맨드이다.
하위 커맨드 | 내용 | 주요 옵션 | 생략 시 |
---|---|---|---|
pull | 리포지토리에서 이미지를 내려받음 | ||
rm | 도커 이미지를 삭제 | docker rmi | |
ls | 내려받은 이미지 목록을 출력 | ||
build | 도커 이미지를 생성 | -t |
volume 는 볼륨 관련 커맨드이다. 볼륨 은 컨테이너에 마운트 가능한 스토리지 이다.
하위 커맨드 | 내용 | 주요 옵션 | 생략 시 |
---|---|---|---|
create | 볼륨을 생성 | --name | |
inspect | 볼륨의 상세 정보를 출력 | ||
ls | 볼륨의 목록을 출력 | -a | |
prune | 현재 마운트되지 않은 볼륨을 모두 삭제 | ||
rm | 지정한 볼륨을 삭제 |
network 는 도커 네트워크 관련 커맨드이다. 도커 네트워크 는 도커 요소 간의 통신에 사용되는 가상 네트워크 이다.
하위 커맨드 | 내용 | 주요 옵션 | 생략 시 |
---|---|---|---|
connect | 컨테이너를 도커 네트워크에 연결 | ||
disconnect | 컨테이너의 도커 네트워크 연결을 해제 | ||
create | 도커 네트워크를 생성 | ||
inspect | 도커 네트워크의 상세 정보를 출력 | ||
ls | 도커 네트워크 목록을 출력 | ||
prune | 현재 컨테이너가 접속하지 않은 네트워크를 모두 삭제 | ||
rm | 지정한 네트워크을 삭제 |
도커 허브의 검색이나 로그인에 사용되는 단독 커맨드도 존재한다.
단독 커맨드 | 내용 | 주요 옵션 |
---|---|---|
login | 도커 레지스트리에 로그인 | -u -p |
logout | 도커 레지스트리에서 로그아웃 | |
search | 도커 레지스트리 검색 | |
version | 도커 엔진 및 명령행 도구 버전 출력 |