< 도커 기본 명령어 차례 >

● 시스템 명령

docker version

docker system info

docker system df

docker system prune

docker login

locker logout

 

● 이미지 관리 명령

docker pull

docker image ls

docker images

docker image inspect

docker image tag

docker push

docker search

docker image rm

docker image prune

docker container commit

 

● 컨테이너 실행 및 조작 관련 명령

docker container create

docker container run

docker container attach

docker container exec

 

● 컨테이너 정보 확인 명령

docker container ps

docker container stats

docker container inspect

docker container top

docker container port

docker container diff

docker container logs

docker container ls

 

● 컨테이너 관리 명령

docker container stop

docker container start

docker container kill

docker container restart

docker container prune

docker container pause

docker container unpause

docker container rename

docker container cp

 

● 컨테이너/이미지 백업 명령

docker container export

docker container import

docker image save

docker image load

 

● 네트워크 명령

docker network ls

docker network create

docker network connect

docker network disconnect

docker networkinspect

docker network rm

brctl show

 

● 볼륨 명령 
docker volume create 
docker volume ls 
docker volume rm 
docker volume prune 
docker volume inspect


 

 

 

docker container ps

설명

- 실행 상태의 컨테이너 상태 보기

- CONTAINER ID, NAMES 둘다 컨테이너를 식별할 수 있는 고유한 이름이다.

 

옵션

-a : stop된 컨테이너까지 모두 보기

 

예시

# docker container ps -a (stop된것까지 다 나옴)
# docker container ps -a -f name=cadvisor (cadvisor만 표시해줌)
# docker container ps -a --format "{{ .ID }}: {{ .Status }}" (id랑 status 컬럼만 보고싶은경우)
# docker container ps -a -f exited=0 (status가 종료코드가 0인애들만)
# docker ps -a --format "table {{ .ID}}\t{{ .Status }}" (docker 커맨드를 표 형식으로 실행)

 

docker container inspect

설명
- 컨테이너 상세 정보 확인
-  docker container inspect 컨테이너명
- docker image inspect 와 동일한 json 형태이다.
- 명령어에서 container 를 빼도 된다.

옵션
--format : 지정된 형식만 보여줌

예시

# 참고 : 표시 포맷 리스트

.ID 컨테이너 아이디 
.Image 이미지 아이디 
.Command 실행 명령 
.CreatedAt 컨테이너가 작성된 시간 
.RunningFor 컨테이너의 가동 시간 
.Ports 공개 포트 
.Status 컨테이너 상태 
.Size 컨테이너 디스크 크기 
.Names 컨테이너명 
.Mounts 볼륨 마운트 
.Networks  네트워크명 

 

docker container top

설명
- 가동중인 컨테이너에서 프로세스를 확인.

옵션
- 미확인

예시

 

docker container port

설명
- 가동중인 컨테이너에서 실행되고 있는 프로세스가 전송되는 포트 확인
- docker container port 컨테이너명

옵션
- 미확인

예시

이것의 의미는, 컨테이너의 80번 포트가 호스트 80번 포트로 전송된다 라는 의미임.


docker container diff

설명
- docker container diff 컨테이너명
- 컨테이너 안에서 어떤 조작을 하여 컨테이너가 이미지로부터 생성되었을때와 달라진 점 (차분)을 확인
- 컨테이너 안에서 뭔가 작업을 했는데, 이 내역을 최초 컨테이너가 생성된 시점과 비교하여 달라진 점(변경된 점, 한마디로 무슨 변경을 가했는지)을 출력해준다.
- 변경속성 : A = 추가된 파일 C = 변경된 파일 D = 삭제된 파일

옵션
- 미확인

예시

1. centos를 컨테이너로 실행한다.

- 아래 보면 프롬프트가 f879669147로 바뀐 것을 알 수 있다. centos 컨테이너로 진입한 것.

2. 컨테이너 안에서 여러가지 작업을 한다.

3. 컨테이너 밖으로 나간 후, 변경점을 확인한다.

 

docker container logs

설명
- docker container logs 컨테이너명
- 컨테이너가 백그라운드에서 실행되고 있는 내용들을 볼 수 있음.

옵션
-t : 타임스탬프를 표시해준다.
-f : 실시간으로 관측 가능

예시

1. 자신에게 핑을 날리는 컨테이너를 만들어 본다.

2. docker logs로 확인한다.

- 실행되는 내용들을 보여주고 프롬프트가 떨어진다.

3. 만약 실제로 진행사항을 보고싶으면, attach로 연결한다.

- 계속 ping을 치고 있다 ㅎ


docker container ls

설명
- 가동중인 컨테이너 목록을 표시한다. docker ps와 차이점이 없는 듯 하다. 
- 모든 컨테이너는 컨테이너ID를 가진다.

옵션

--all, -a : 실행중, 정지중 모두 포함하여 모든 컨테이너 표시
--filter, -f : 표시할 컨테이너 필터링 

--last, -n : 마지막으로 실행된 N건의 컨테이너만 표시
--latest, -l : 마지막으로 실행된 컨테이너만 표시
--no-trunc : 정보를 생략하지 않고 표시
--quiet, -q : 컨테이너 아이디만 표시
--size, -s : 파일 크기 표시
--format : 표시 포맷 지정 

 

예시

docker container ls -a -f name=test1 (필터링)
docker container ls -a -f exited=0 (필터링)
docker container ls -a --format "table {{.Names}}\t{{.Status}}\t{{.Mounts}}"  (표로 보기 출력 형식 지정)
docker container ls -a --format "{{.Names}}: {{.Status}}" (출력 형식 지정)

+ Recent posts