2.4.컨테이너를 사용해 웹 사이트 호스팅하기

컨테이너에서 간단한 웹 사이트를 호스팅

  • 명령어
  • 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

links

social