본문 바로가기

IT/Docker

[Docker] 기본 사용 명령어

1. docker history - 이미지 히스토리

[root@centos data]# docker history hello:0.1
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
c40f42dc1a82        42 minutes ago      /bin/sh -c #(nop)  EXPOSE 443/tcp               0 B
6293ee614437        42 minutes ago      /bin/sh -c #(nop)  EXPOSE 80/tcp                0 B
f416543abcfd        42 minutes ago      /bin/sh -c #(nop)  CMD ["nginx"]                0 B
c86ff4a4ecf6        42 minutes ago      /bin/sh -c #(nop) WORKDIR /etc/nginx            0 B
4927879d0bba        42 minutes ago      /bin/sh -c #(nop)  VOLUME [/data /etc/ngin...   0 B
1da95ca46179        42 minutes ago      /bin/sh -c chown -R www-data:www-data /var...   0 B
8f1d3a7d18ac        42 minutes ago      /bin/sh -c echo "\ndaemon off;" >> /etc/ng...   1.5 kB
b25f08d71a85        42 minutes ago      /bin/sh -c apt-get install -y nginx             59.2 MB
933eae2c5241        42 minutes ago      /bin/sh -c apt-get update                       27.6 MB
677c7ada5f61        42 minutes ago      /bin/sh -c #(nop)  MAINTAINER devops <devo...   0 B
8e428cff54c8        4 days ago          /bin/sh -c #(nop)  CMD ["/bin/bash"]            0 B
<missing>           4 days ago          /bin/sh -c mkdir -p /run/systemd && echo '...   7 B
<missing>           4 days ago          /bin/sh -c [ -z "$(apt-get indextargets)" ]     0 B
<missing>           4 days ago          /bin/sh -c set -xe   && echo '#!/bin/sh' >...   811 B
<missing>           4 days ago          /bin/sh -c #(nop) ADD file:a8d2f02fbaddf8c...   72.9 MB

docker history <Image name>:<tag> 형식. 이미지 이름 대신 이미지 ID를 사용할 수 있다.

2. docker cp - Docker 컨테이너에서 파일 Copy

[root@centos data]# docker cp hello-nginx:/etc/nginx/nginx.conf
[root@centos data]# ls -rlt
total 4
-rw-r--r--. 1 root root 1503 Mar 30 00:45 nginx.conf

3. docker commit - Container 변경 사항을 이미지로 생성

[root@centos data]# docker commit -a "devops <devops@example.com>" -m "add hello.txt" hello-nginx hello:0.2
sha256:29e7947ab4a770f232c644d255e13506d89d764b82b8814d01901d3d81381550
[root@centos data]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello                0.2                 29e7947ab4a7        8 seconds ago       160 MB
hello                0.1                 c40f42dc1a82        51 minutes ago      160 MB
docker.io/ubuntu  latest              8e428cff54c8        4 days ago          72.9 MB

Container 내부 내용이 바뀐 경우, 컨테이너를 이미지 파일로 생성할 수 있다.

docker commit <옵션> <컨테이너 이름> <이미지 이름>:<태그> 형식이다.

4. docker diff - 컨테이너에서 변경된 파일 확인

[root@centos data]# docker diff hello-nginx
D /data
C /etc
C /etc/nginx
D /etc/nginx/site-enabled
C /run
A /run/nginx.pid
C /var/lib/nginx
D /var/lib/nginx/body
D /var/lib/nginx/fastcgi
D /var/lib/nginx/proxy
D /var/lib/nginx/scgi
D /var/lib/nginx/uwsgi

컨테이너가 실행되면서 변경된 파일 목록을 출력한다. 비교 기준은 컨테이너를 생성한 이미지 내용이다.

docker diff <Container Name> 형식이다. 컨테이너 이름 대신 Container ID를 사용해도 된다.

  • A : 추가된 파일
  • C : 변경된 파일
  • D : 삭제된 파일

5. docker inspect - 세부 정보 출력

[root@centos data]# docker inspect hello-nginx
[
    {
        "Id": "775317be24d4bc37f210407c279d56564c793d14bc27e40e32bda0fb3bc5c227",
        "Created": "2021-03-30T04:45:52.987377775Z",
        "Path": "nginx",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2723,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-03-30T04:45:53.558954805Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
...

 

'IT > Docker' 카테고리의 다른 글

[Docker] 이미지 생성  (0) 2021.03.30
[Docker] 설치 및 기본 명령어  (0) 2021.03.25
[Docker] Image & Container  (0) 2021.03.25
[Docker] Container?  (0) 2021.03.24