지난 글에서는 이미지를 다운로드하고 실행하기 위해서 docker pull, docker create, docker start 명령을 차례대로 실행하는 방법을 소개해드렸는데, 오늘은 이 3가지 명령을 한 번에 수행할 수 있는 docker run 명령에 대해서 소개해드리고자 합니다.
도커 컨테이너 생성 및 실행
docker run 명령에서 사용할 수 있는 옵션은 너무 많아서 따로 설명드리지 않겠습니다. 자세한 내용은 Docker run reference를 참고하시기 바랍니다.
docker run [옵션] 이미지 이름[:버전]
아래 예시는 docker run 명령을 이용해서 ubuntu 리눅스의 최신 버전 이미지를 다운로드한 후 실행한 결과를 보여주고 있습니다. ubuntu 이미지의 버전을 기재하지 않았기 때문에 latest 버전을 다운로드했습니다. 또한 docker create 명령과는 달리, 실행 후 바로 ubuntu OS 내로 진입한 것을 알 수 있습니다. (예시 마지막 줄 참조)
Rayner-MacBookPro ~/Documents/Projects/docker$ docker run -i -t ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
83ee3a23efb7: Pull complete
db98fc6f11f0: Pull complete
f611acd52c6c: Pull complete
Digest: sha256:703218c0465075f4425e58fac086e09e1de5c340b12976ab9eb8ad26615c3715
Status: Downloaded newer image for ubuntu:latest
root@160a122ed713:/#
ubuntu 리눅스 터미널 화면에서 빠져나와서 이미지 리스트를 확인해보면 docker run 명령에 의해서 ubuntu 이미지가 다운로드되어 있는 것을 확인하실 수 있습니다.
yhcho@Rayner-MacBookPro ~/Documents/Projects/docker$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest 2f339b49b645 10 days ago 550MB
mysql 5.7 5f47254ca581 11 days ago 449MB
nginx latest 298ec0e28760 11 days ago 133MB
centos 8 300e315adb2f 2 months ago 209MB
ubuntu latest f63181f19b2f 4 weeks ago 72.9MB
위에서 ubuntu 리눅스 터미널 화면에서 빠져나왔다고 했는데 어떤 방법으로 나올 수 있을까요?
이미 짐작하셨겠지만 하나는 exit 를 입력하여 컨테이너를 종료시키고 빠져나오는 것이고, 다른 하나는 Ctrl + P, Q 를 입력해서 컨테이너를 종료시키지 않고 백그라운드에서 실행하게 놔둔채로 빠져나오는 것입니다.
도커 컨테이너 상태 확인하기
docker ps 명령을 사용하면 실행 중인 컨테이너 리스트를 확인할 수 있습니다. -a 옵션을 추가 사용하면 종료되면 컨테이너의 상태까지 함께 출력합니다.
docker ps [-a]
Ctrl+P, Q 를 이용해서 ubuntu 컨테이너에서 빠져나온 후 docker ps를 실행해보면, 아래와 같이 ubuntu 이미지가 중지되지 않고 정상적으로 동작하고 있는 것 확인할 수 있습니다.
Rayner-MacBookPro ~/Documents/Projects/docker$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
160a122ed713 ubuntu "/bin/bash" 25 minutes ago Up 25 minutes modest_almeida
2138c6bdec83 centos:8 "/bin/bash" 6 hours ago Up 6 hours webserver
eacb886258ee nginx "/docker-entrypoint.…" 6 days ago Up 6 days 0.0.0.0:80->80/tcp trusting_ramanujan
1e8345119604 alicek106/fluentd:mongo "/bin/sh -c 'exec fl…" 6 days ago Up 6 days 5140/tcp, 24284/tcp, 0.0.0.0:24224->24224/tcp fluentd
7cca45c67251 mongo "docker-entrypoint.s…" 6 days ago Up 6 days 0.0.0.0:27017->27017/tcp mongodb
a6551114c722 mysql:5.7 "docker-entrypoint.s…" 8 days ago Up 7 days 3306/tcp, 33060/tcp wordpressdb
'DevOps > Docker' 카테고리의 다른 글
Docker(도커) 이미지 다운로드, 컨테이너 실행하기 (1) | 2021.02.20 |
---|---|
Docker(도커) 설치 - Mac (0) | 2021.02.14 |
Docker(도커) 소개 (0) | 2021.02.14 |
댓글