docker 가 정상적으로 설치되었다면, 이제는 docker 에 image 를 다운로드하고, 이를 기반으로 container 를 생성하고, 구동하는 테스트를 진행해보겠습니다.
예제는 ubuntu:16.04 이미지를 대상으로 진행합니다.
hub.docker.com 이라는 사이트에 접속해보면, 온라인에서 다운로드 가능한 정말 다양한, 많은 이미지를 확인할 수 있습니다.
우리는 console, terminal 을 이용하여 CLI (Command Line Interface) 로 ubuntu:16.04 이미지를 다운로드하고 구동할 것입니다.
$ sudo docker run -i -t ubuntu:16.04
위 명령어를 수행하면 로컬에는 해당 이미지가 없다면서(한번도 ubuntu:16.04 를 다운로드한 것이 없다면) 이미지를 다운로드 받을 것입니다. 그리고나서 run 명령어를 통하여 ubuntu:16.04 이미지를 기반으로 container 를 하나 생성하고, -it 옵션을 통하여 (interactive, tty) 설치된 ubuntu:16.04 container 에 콘솔을 연결해 줍니다.
좀 다를 수 있지만, 콘솔에서 아래와 같이 출력될 것입니다.
여기서 container 에서 빠져 나오는 방법이 몇가지를 제공합니다.
1. exit 명령어, 또는 Ctrl+D 단축키를 입력하는 경우
위의 방식을 사용하는 경우, 실행되어 있던 container 가 종료되어 더 이상 작동하지 않게 됩니다. 만약에 웹서버, DB 서버의 container 인 경우라면 조심해야겠죠?
2. Ctrl+P, Q 단축키를 입력하는 경우
container 의 종료없이 콘솔을 빠져 나오는 단축키입니다.
위 스크린샷에서 보이는 것과 같이 read escape sequence 라는 문구와 함께 콘솔에서 빠져나오게 됩니다. 그리고 아래 명령어를 이용하여 현재 container 의 상태를 확인해보면, 콘솔이 중지된 상태라도 container 는 아직도 작동 중인 것으로 표시됩니다.
$ sudo docker container ls -a
(위 명령어는 docker container 에 있는 모든 container 목록을 조회하는 명령입니다. ls 명령어와 비슷하게 -a 옵션을 제거하면 현재 실행중인 docker 목록만 표시되고, 정지되어 있는 container 는 표시되지 않아, 여기서는 -a 옵션을 사용하여 모든 container 를 표시하도록 하였습니다.)
dante2k@DANTE2K-GRAM-UBUNTU:~$ sudo docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
966622407d5a ubuntu:16.04 "/bin/bash" 11 minutes ago Up 4 minutes sleepy_vaughan
dante2k@DANTE2K-GRAM-UBUNTU:~$
저의 경우는 위와 같이 표시되었습니다. 만약 정지되어 있다면, STATUS 에 'Up 구동시간' 이 아닌 Exit 라고 표시됩니다.
더보기
1. docker container 정지, 삭제, image 삭제
2. docker image 다운로드, container 생성, 실행 각각 진행하기