티스토리 뷰
[Docker] Docker Container 실행
Container 실행
Docker에 대한 개념은 "[Docker] Docker란 무엇일까?" 포스팅을 통해 참조 부탁드립니다.
Container는 "run" 명령어로 새로운 Container를 생성 합니다.
Container Image 없을 경우 다운로드 후 Container를 생성하고 실행합니다.
•docker run [ Option ] [ Image ] [ Command ] ...
$> docker run centos Unable to find image 'centos:latest' locally latest: Pulling from library/centos d9aaf4d82f24: Pull complete Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a Status: Downloaded newer image for centos:latest $> |
Container는 프로세스이기 때문에 해당 Container에서 실행중인 프로세스가 없다면 종료됩니다.
따라서 위의 경우 "docker run centos"로 Container는 생성하였지만 프로세스를 할당하지 않았기 때문에 자동으로 종료된 것입니다.
Container 확인
"docker ps"로 현재 실행중인 Container를 확인할 수 있습니다. docker run으로 실행했던 Container는 종료되어 표시되지 않습니다.
•docker ps
$> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
"docker ps -a" 옵션으로 전체 Container List를 확인할 수 있습니다.
•docker ps -a
$> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1a6c3f13ddd4 centos "/bin/bash" 17 minutes ago Exited (0) 17 minutes ago naughty_neuman |
Container 실행 - Nginx
docker run으로 Nginx를 실행합니다.
•docker run [ Option ] [ Image ] [ Command ]
$> docker run -d -p 80:80 nginx |
Docker ps로 Nginx Container가 실행중인지 확인합니다.
•docker ps
$> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bd85b84d8ce0 nginx "nginx -g 'daemon ..." 9 seconds ago Up 8 seconds 0.0.0.0:80->80/tcp keen_montalcini |
[ Docker Host IP:80 ]로 접근하여 Nginx Webpage가 열린다면 Container가 정상적으로 실행된 것입니다.
Docker run 옵션
Container 실행 시 다양한 Docker run [ Option ]이 있습니다. 이중 주로 사용하는 Option은 아래와 같습니다.
Docker run 옵션에 따라 Nginx Container의 실행 명령을 해석하면 아래와 같습니다.
•nginx을 [ -d ] 백그라운드로 [ -p 80:80 ] Host의 80 Port 와 Container의 80 Port 연결해서 실행
$> docker run -d -p 80:80 nginx |
실행중인 Container에 접속하기
docker ps로 실행중인 Nginx Container ID 또는 Name을 확인합니다.
$> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bd85b84d8ce0 nginx "nginx -g 'daemon ..." 39 minutes ago Up 39 minutes 0.0.0.0:80->80/tcp keen_montalcini |
docker exec로 Container에 접속합니다.
•docker exec -it [ Container ID or Name ] /bin/bash
$> docker exec -it keen_montalcini bin/bash |
Hostname이 Container ID로 변경된 것을 확인할 수 있으며 Container에서 작업을 할 수 있습니다.
root@bd85b84d8ce0: find / -name 'index.html' /usr/share/nginx/html/index.html |
'[Cloud & Virtual] > Docker' 카테고리의 다른 글
[Docker] Docker를 위한 Core OS - Install (0) | 2016.08.01 |
---|---|
[Docker] Install -CentOS 6.x (0) | 2016.07.31 |
[Docker] Docker란 무엇일까? (0) | 2016.07.16 |