컨테이너 실행 명령어

|

Docker Container

Docker 컨테이너는 Docker 이미지로부터 생성할 수 있습니다. 이미지 하나로부터 동일한 컨테이너를 여러개 생성할 수 있으며, 각 컨테이너는 샌드박스(Sandbox) 형태로 되어 있어 각 컨테이너간 간섭이 없습니다.


컨테이너 생성

docker run <image name> 명령어를 이용해서 컨테이너를 생성할 수 있습니다. run 명령어로 실행한 컨테이너는 주어진 명령이 끝나거나 사용자 명령에 따라 종료됩니다.

예를 들어 다음과 같이 명령을 내리면

$ docker run ubuntu echo "hello"

hello

화면에 ‘hello’라는 메시지만 출력하고 해당 컨테이너는 종료됩니다. 해당 컨테이너의 상태 여부는 docker ps -a 명령어를 이용해서 조회 가능합니다.

docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                     PORTS               NAMES
303c05fe9c03        ubuntu                  "echo hello"             4 seconds ago       Exited (0) 3 seconds ago                       dreamy_goldstine

STATUSExited 상태인 걸 확인할 수 있습니다.


컨테이너 목록 조회

컨테이너 목록은 docker ps 명령어를 이용해서 조회할 수 있습니다. 여기에 -a 옵션을 붙이면 종료된 컨테이너 정보까지 조회됩니다.

$ docker ps -a


컨테이너 시작/재시작/정지

다음 명령어로 컨테이너를 시작하거나 재시작, 정지할 수 있습니다.

$ docker start <container name>

$ docker restart <container name>

$ docker stop <container name>


현재 실행중인 컨테이너에 접속하기

docker attach 명령어로 현재 실행중인 컨테이너에 접속할 수 있습니다.

$ docker attach <container name>


외부에서 컨테이너 안의 명령 실행하기

docker exec 명령어로 컨테이너 밖에서 컨테이너 안의 명령을 실행할 수 있습니다.

$ docker exec <container name> <command>

ex) docker exec snowdeer_docker echo "Hello, SnowDeer"

exec 명령어는 현재 실행 중인 컨테이너에만 사용할 수 있으며, 중지 상태의 컨테이너에는 사용할 수 없습니다.


컨테이너 삭제

docker rm 명령어로 컨테이너 삭제를 할 수 있습니다. 컨테이너 삭제는 rm 명령어이며, 이미지 삭제는 rmi 입니다.

$ docker rm snowdeer_docker

docker run 명령을 이용해서 컨테이너를 실행할 때 --rm 옵션을 붙이면 컨테이너 종료시 해당 컨테이너가 자동으로 삭제되기 때문에 편리하게 연습용으로 편리하게 사용할 수 있습니다.