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