반응형
Docker
Ubuntu 환경에서 Docker 명령어 사용하기
Ubuntu 20.04.4 LTS 환경으로 테스트 진행
Docker history 명령으로 이미지 history 확인하기
history 명령은 동작중인 컨테이너에 입력된 명령어 history를 확인하는 명령어입니다.
이전 글에서 dockerfile로 만든 nginx 컨테이너입니다. 만들면서 사용된 RUN 커맨드가 history에 기록됩니다.
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
61edbce54f41 nginxtest:0.1 "nginx" 18 minutes ago Up 18 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp jinsu-nginx
$
$sudo docker history [NAMES]:[TAG]
EX)
$ sudo docker history nginxtest:0.1
IMAGE CREATED CREATED BY SIZE COMMENT
740379f9b11b 29 minutes ago /bin/sh -c #(nop) EXPOSE 443 0B
929f903e2540 29 minutes ago /bin/sh -c #(nop) EXPOSE 80 0B
ed64817830f8 29 minutes ago /bin/sh -c #(nop) CMD ["nginx"] 0B
2282172fd290 29 minutes ago /bin/sh -c #(nop) WORKDIR /etc/nginx 0B
de12d0c872bc 29 minutes ago /bin/sh -c #(nop) VOLUME [/data /etc/nginx/… 0B
3da13963d2b2 29 minutes ago /bin/sh -c chown -R www-data:www-data /var/l… 0B
94c41b3f9ed3 29 minutes ago /bin/sh -c echo "\n daemon off;" >> /etc/ngi… 1.61kB
d6e387a15b8b 29 minutes ago /bin/sh -c apt-get install -y nginx 21.1MB
2f20874facdc 29 minutes ago /bin/sh -c apt-get update 14.1MB
abbb27fabc8c 29 minutes ago /bin/sh -c #(nop) MAINTAINER jinsu <djwlstn… 0B
13b66b487594 14 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 14 months ago /bin/sh -c mkdir -p /run/systemd && echo 'do… 7B
<missing> 14 months ago /bin/sh -c [ -z "$(apt-get indextargets)" ] 0B
<missing> 14 months ago /bin/sh -c set -xe && echo '#!/bin/sh' > /… 195kB
<missing> 14 months ago /bin/sh -c #(nop) ADD file:276b5d943a4d284f8… 196MB
$
Docker cp 명령으로 복사하기
cp 명령은 컨테이너에서 있는 파일을 복사하는 명령입니다.
명령어 입력 전
$ ls -al
total 12
drwxrwxr-x 2 djwlstn123 djwlstn123 4096 Jun 2 09:42 .
drwxr-xr-x 5 djwlstn123 djwlstn123 4096 Jun 2 08:54 ..
-rw-rw-r-- 1 djwlstn123 djwlstn123 325 Jun 2 08:54 Dockerfile
$
동작중인 컨테이너 확인
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
61edbce54f41 nginxtest:0.1 "nginx" 30 minutes ago Up 30 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 443/tcp jinsu-nginx
$
$ sudo docker cp [NAMES]:[경로] [저장경로]
EX)
$ sudo docker cp jinsu-nginx:/etc/nginx/nginx.conf ./
명령어 입력 후
$ ls -al
total 16
drwxrwxr-x 2 djwlstn123 djwlstn123 4096 Jun 2 09:44 .
drwxr-xr-x 5 djwlstn123 djwlstn123 4096 Jun 2 08:54 ..
-rw-rw-r-- 1 djwlstn123 djwlstn123 325 Jun 2 08:54 Dockerfile
-rw-r--r-- 1 root root 1615 Jun 2 09:05 nginx.conf
$
Docker commit 명령으로 컨테이너 변경된 내용 이미지로 생성하기
commit 명령은 컨테이너의 추가로 변경된 사항을 이미지 파일로 생성하는 명령입니다.
명령어 입력 전
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginxtest 0.1 740379f9b11b 43 minutes ago 232MB
ubuntu 14.04 13b66b487594 14 months ago 197MB
$
$ sudo docker commit [옵션] [컨테이너 이름] [이미지 이름]:[태그]
EX)
$ sudo docker commit jinsu-nginx nginxtest:0.2
sha256:45fe3bfa31b6a7b9eb73603decb26779e348acd6e41ecd176cbeaf0c54c0c967
$
명령어 입력 후
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginxtest 0.2 45fe3bfa31b6 11 seconds ago 232MB
nginxtest 0.1 740379f9b11b 46 minutes ago 232MB
ubuntu 14.04 13b66b487594 14 months ago 197MB
$
Docker diff 명령으로 컨테이너 변경된 파일 확인하기
diff 명령은 컨테이너가 실행되면서 변경된 파일 목록을 출력하여 보여줍니다.
비교 기준은 컨테이너 생성한 이미지입니다.
- A : 추가된 파일
- C : 변경된 파일
- D : 삭제된 파일
$ sudo docker diff [컨테이너 이름]
EX)
$ sudo docker diff jinsu-nginx
A /data
C /etc
C /etc/nginx
A /etc/nginx/site-enabled
C /var
C /var/lib
C /var/lib/nginx
A /var/lib/nginx/body
A /var/lib/nginx/fastcgi
A /var/lib/nginx/proxy
A /var/lib/nginx/scgi
A /var/lib/nginx/uwsgi
C /run
A /run/nginx.pid
$
Docker inspect 명령으로 이미지와 컨테이너 세부 정보 확인하기
inspect 명령은 이미지와 컨테이너의 세부 정보를 출력하는 명령입니다.
$ sudo docker inspect [이미지] or [컨테이너 이름]
EX)
$ sudo docker inspect jinsu-nginx
[
{
"Id": "61edbce54f412f5445422515247b95af982c6c99ad24d758c855056c8d69ab28",
"Created": "2022-06-02T09:08:38.839283565Z",
"Path": "nginx",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 94810,
"ExitCode": 0,
"Error": "",
"StartedAt": "2022-06-02T09:08:39.140534723Z",
"FinishedAt": "0001-01-01T00:00:00Z"
...
..
.
내용이 길게 출력중
반응형
'Kubernetes > Docker' 카테고리의 다른 글
[Docker] registry pull 오류 "Error response from daemon" (0) | 2022.06.05 |
---|---|
[Docker] insecure-registry 구성 및 설정 (0) | 2022.06.05 |
[Docker] Ubuntu 환경에서 Dockerfile 설정하기 (0) | 2022.06.01 |
[Docker] Ubuntu 환경에서 Docker 명령어 사용하기 #2 (0) | 2022.05.31 |
[Docker] Ubuntu 환경에서 Docker 명령어 사용하기 #1 (0) | 2022.05.28 |