도커 자체는 호스트 컴퓨터의 아키텍처나 운영체제와 상관없이 동일하게 동작하지만, 컨테이너에 들어 있는 애플리케이션은 운영체제나 아키텍처를 가릴 수 있다. 결국 컨테이너의 내용물이 무엇이든 컨테이너를 다루는 방법은 환경과 상관없이 동일하다.
실습 새로운 터미널 세션을 열고 다음 명령을 입력해 현재 실행 중인 모든 컨테이너에 대한 정보를 확인한다.
docker container ls
이 명령을 실행하면 현재 실행 중인 모든 컨테이너에 대한 정보를 볼 수 있다. 컨테이너마다 컨테이너의 바탕이 된 이미지, 컨테이너 ID, 컨테이너 실행 후 도커가 실행한 명령 등이 출력된다. 다음은 출력 중 일부를 발췌한 것이다.
CONTAINER ID IMAGE COMMAND CREATED STATUS f1695de1f2ec diamol/base "/bin/sh" 16 minutes ago Up 16 minutes
눈썰미가 좋다면 지금 출력된 컨테이너 ID가 조금 전에 컨테이너 내부에서 확인한 호스트명과 동일하다는 사실을 알 수 있을 것이다. 도커는 컨테이너를 실행할 때마다 무작위로 생성한 ID 값을 부여한다. 그리고 이 ID 값 중 일부분이 호스트명이 된다. 특정한 컨테이너에 대해 실행할 수 있는 다양한 docker container 명령이 있는데, 이때 컨테이너를 특정하려면 컨테이너 ID의 처음 몇 글자를 지정하면 된다.
실습 docker container top 명령은 대상 컨테이너에서 실행 중인 프로세스의 목록을 보여 준다. 여기서는 f1695de1f2ec 컨테이너를 대상으로 하기 위해 f1까지만 지정했다.
> docker container top f1 PID USER TIME COMMAND 69622 root 0:00 /bin/sh