더북(TheBook)

이 명령을 실행하면 컨테이너 ID만 출력된다. 이 컨테이너는 종료되지 않고 백그라운드에서 계속 동작한다.

실습 docker container ls 명령을 실행해 새로 만든 컨테이너의 상태가 Up인지 확인한다.

> docker container ls
CONTAINER ID    IMAGE
COMMAND                  CREATED         STATUS
PORTS                           NAMES
e53085ff0cc4    diamol/ch02-hello-diamol-web 
"bin\\httpd.exe -DFOR…" 52 seconds ago  Up 50 seconds
443/tcp, 0.0.0.0:8088->80/tcp   reverent_dubinsky

이 컨테이너를 만드는 데 사용된 이미지는 diamol/ch02-hello-diamol-web이다. 이 이미지는 아파치 웹 서버와 간단한 HTML 페이지를 담고 있다. 이 이미지로 컨테이너를 실행하면 실제 웹 서버를 통해 웹 페이지가 제공된다. 컨테이너가 백그라운드에서 동작하면서 네트워크를 주시(listen)하게 하려면 docker container run 명령에 다음과 같은 두 개의 플래그를 적용해야 한다.

--detach: 컨테이너를 백그라운드에서 실행하며 컨테이너 ID를 출력한다.

--publish: 컨테이너의 포트를 호스트 컴퓨터에 공개한다.

--detach 플래그를 적용해 실행한 컨테이너는 마치 리눅스 데몬이나 윈도 서비스처럼 백그라운드로 동작하며 겉으로 드러나지 않는다. 컨테이너의 포트를 호스트 컴퓨터에 공개하는 원리는 좀 더 복잡하다. 도커를 설치하면 호스트 컴퓨터의 네트워크 계층에 도커가 끼어들게 되는데, 그러면 호스트 컴퓨터에서 들고나는 네트워크 트래픽을 모두 도커가 가로채서 그중 필요한 것을 컨테이너에 전달할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.