컨테이너에서 간단한 웹 사이트를 호스팅
- 명령어
docker container run --detach --publish <port> <image>
docker container run -dp <port> <image>
- 이 컨테이너를 만드는데 사용된 이미지는 아파치 웹 서버와 간단한 HTML 페이지를 담고 있다.
- 컨테이너가 백그라운드에서 동작하면서 네트워크를 주시하게 하기 위해 아래 두 개의 플래그를 적용해야 한다
- --detach: 컨테이너를 백그라운드에서 실행
- --publish: 컨테이너의 포트를 호스트 컴퓨터에 제공
- 도커를 설치하면 호스트 컴퓨터의 네트워크 계층에 도커가 끼어들어 네트워크 트래픽을 가로채서 그 중 필요한 것을 컨테이너에 전달한다.
- 컨테이너의 포트를 공개한다는 것은 도커가 호스트 컴퓨터의 포트를 주시하다가 해당 포트로 들어오는 트래픽을 컨테이너로 전달해 주는 것
- 예제에서는 호스트 컴퓨터의 8080번 포트로 들어온 트래픽이 컨테이너의 80포트로 전달됐다.
001) ➜ ~ docker container run -dp 8080:80 diamol/ch02-hello-diamol-web
002) Unable to find image 'diamol/ch02-hello-diamol-web:latest' locally
003) latest: Pulling from diamol/ch02-hello-diamol-web
004) dce8679b510e: Pull complete
005) c111552b26df: Pull complete
006) ef4263ddbf41: Pull complete
007) cac4170335ae: Pull complete
008) 0a26a833371b: Pull complete
009) 994988584430: Pull complete
010) Digest: sha256:fe5a4c954fe2df5cadeea304ab632533f8ece9e31bd219ea22fdbf8b597571eb
011) Status: Downloaded newer image for diamol/ch02-hello-diamol-web:latest
012) 952f00de7c79257c1121013232282940a85eb5c7624500ba748e62d84a31fc1c
docker container stats
- 실행중인 컨테이너의 상태를 실시간으로 확인
- CPU, 메모리, 네트워크, 디스크 사용량을 볼 수 있다.
001) ➜ ~ docker container stats
002) CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
003) 8c8de090ca63 upbeat_williams 0.01% 5.375MiB / 7.765GiB 0.07% 3.43kB / 2.03kB 0B / 4.1kB 109
004) d454001686b9 cvve-assemble-nginx 0.00% 9.77MiB / 7.765GiB 0.12% 2.43kB / 0B 9.83MB / 4.1kB 6
005) f6c8611886d3 cvve-assemble-php 0.01% 20.37MiB / 7.765GiB 0.26% 2.43kB / 0B 26.8MB / 0B 3
006) b010d7fad63c cvve-assemble-nextjs 39.72% 446.8MiB / 7.765GiB 5.62% 8.17kB / 2.6kB 209MB / 133MB 28
007) 9e958f9a9b90 cvve-assemble-mysql 0.03% 156.9MiB / 7.765GiB 1.97% 389kB / 554kB 37.4MB / 131kB 13
008) 1bb3c9ee963d MD3-PROD 0.00% 129.8MiB / 7.765GiB 1.63% 1.59MB / 923kB 79MB / 4.1kB 22
009) 287c0e371667 UBUNTU 0.00% 3.484MiB / 7.765GiB 0.04% 4.07kB / 0B 7.16MB / 0B 1
010) ba395ed5db45 woogie-temp 3.50% 489.2MiB / 7.765GiB 6.15% 721kB / 790kB 86MB / 60.6MB 40
docker conatiner rm
- 실행중인 컨테이너 삭제
- 모든 컨테이너를 삭제하려면 아래 명령어 사용
docker conatiner rm --force $(docker container ls --all --quiet)
docker conatiner rm -f $(docker container ls -aq)
001) ➜ ~ docker container ls -aq
002) 8c8de090ca63
003) d454001686b9
004) f6c8611886d3
005) b010d7fad63c
006) 9e958f9a9b90
007) 1bb3c9ee963d
008) 287c0e371667
009) ba395ed5db45