1. 컨테이너 동작 방식
1.1 Docker Hub 이미지검색
$ docker search nginx
NAME DESCRIPTION STARS OFFICIAL
nginx Official build of Nginx. 19573 [OK]
unit Official build of NGINX Unit: Universal Web … 20 [OK]
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 140
nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo… 88
1.2 Docker Hub 이미지 다운로드
$ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
c57ee5000d61: Pull complete
9b0163235c08: Pull complete
f24a6f652778: Pull complete
9f3589a5fc50: Pull complete
f0bd99a47d4a: Pull complete
398157bc5c51: Pull complete
1ef1c1a36ec2: Pull complete
Digest: sha256:5f44022eab9198d75939d9eaa5341bc077eca16fa51d4ef32d33f1bd4c8cbe7d
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
1.3 Docker 설치된 이미지 확인
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest b690f5f0a2d5 3 months ago 187MB
1.4. 설치된 이미지 저장소 위치 확인
- /var/lib/docker/overlay2는 도커 컨테이너의 레이어 저장소(Layer Storage)
- 도커 데몬이 컨테이너 레이어를 저장하는 디렉토리
- 여기에는 도커 이미지의 각 레이어와 컨테이너의 변화를 저장하는 파일이 포함되어 있음
$ cd var/lib/docker/overlay2
$ cd ls -l
//Docker Hub에서 다운로드 받은 nginx의 이미지 레이어가 저장되어 있음을 확인가능
drwx--x--- 4 root root 4096 2월 6 18:10 1ff278b7551e4e2b727d23fb5fb0d330a9492decfe17bc156faf2729e383cc56
drwx--x--- 4 root root 4096 2월 6 18:10 29f68b726d6b7c0a6adf6045498c9d318e747b391a0074c56baea64716eba724
drwx--x--- 4 root root 4096 2월 6 18:10 30ee656836987d05e137b5a801efa0802210c75521a725a42ca2520be7a5fa03
drwx--x--- 4 root root 4096 2월 6 18:10 360c11262d220ffb3d810cc4cc93ac9d25d12353214daee8ffb7084edd686a74
drwx--x--- 3 root root 4096 2월 3 15:43 44efdcfad1ade1514f7b20b02bc120a08e7567e40ed6684b1182cdc1d64b972
1.5 컨테이너 생성 및 실행
다운로드 받은 이미지를 기반으로 컨테이너 생성 및 실행 ex) docker run
- -d: 백그라운드에서 실행
- --name: 컨테이너 이름 지정
- -p: 호스트와 컨테이너 간의 포트 매핑 설정
$ docker run --name web -d -p 80:80 nginx
//실행결과
: 1dd7b7aef7baeb4fc717123d43ee052e07145d730cb8afc9aa606da1a4c0e4b6
1.6 도커 실행 여부 확인
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1dd7b7aef7ba nginx "/docker-entrypoint.…" 27 seconds ago Up 25 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp web
1.6 ngnix 실행
$ curl localhost:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
1.7 컨테이너 중지
$ docker stop <container name>
//docker stop web
1.8 컨테이너 삭제
$ docker rm web
1.9 이미지 삭제
$ docker rmi nginx
Untagged: nginx:latest
Untagged: nginx@sha256:5f44022eab9198d75939d9eaa5341bc077eca16fa51d4ef32d33f1bd4c8cbe7d
Deleted: sha256:b690f5f0a2d535cee5e08631aa508fef339c43bb91d5b1f7d77a1a05cea021a8
Deleted: sha256:2599673318db03e2df10bca9b4167be668b9579d72c3cedd1436a0ddcbc4686f
Deleted: sha256:3dfa00af383371dcbb76086fde405df32b75247bdf6db81110d992284140c5a3
Deleted: sha256:22b6d0744dd5a77166622ec69cc6520f63c9df0dd65b9c96934658c3684aef14
Deleted: sha256:da1a2f0bf2f9a1e0eaf448084f492dfe868dc0a64ca3e0e30f3b9be6ded452f0
Deleted: sha256:9cf4de78149512efb3285ea0da170ebcd38cdca48d5eb90030400663db6facfb
Deleted: sha256:61901066ba33b727b13c970b9d7b7ed9a3056e30de96e835c9b01f4e73c4659a
Deleted: sha256:fb1bd2fc52827db4ce719cc1aafd4a035d68bc71183b3bc39014f23e9e5fa256
$ root@docker-ubuntu-example:/var/lib/docker/overlay2# ls
-> 레이어 저장소 비워져있음
참고
[따배도] 3-2 도커 컨테이너 살펴보기: 실습편
https://www.youtube.com/watch?v=gNsjVOuF2jY&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=10
'Docker' 카테고리의 다른 글
[Docker] Docker 컨테이너 생성 - 예제 정답 (0) | 2024.02.15 |
---|---|
[Docker] Docker 컨테이너 생성 (0) | 2024.02.14 |
[Docker] 도커 컨테이너란? (0) | 2024.02.06 |
[Docker] Docker 관리자 권한 부여 (0) | 2024.02.05 |
[Docker] 로컬 환경 구성 6 - CentOS Docker 설치 (0) | 2024.02.05 |