컨테이너 실행과 관련된 명령어를 정리해보려고 합니다.
기본적으로 Docker에서 컨테이너를 실행하기 위한 명령어의 형태는 아래와 같습니다.
docker run [option] Image [COMMAND] [ARG...]
각 인자에 대해 설명하자면
OPTIONS
컨테이너의 세팅을 조정하기 위해 사용하는 플래그가 들어가는 자리입니다.
메모리 제한이나 포트나 환경변수 등과 같은 것을 설정할 때 사용합니다.
IMAGE
Docker가 실행할 이미지를 말합니다.
COMMAND
컨테이너가 실행되었을 때 컨테이너 내부에서 실행될 명령어가 들어가는 자리입니다. 아무것도 넣지 않으면 이미지의 기본 엔트리포인트를 사용합니다.
ARG...
옵셔널 인자로 실행될 명령어를 보낼 수 있습니다.
예를 들어 Nginx 이미지를 실행하고 싶다면 아래와 같은 형태가 됩니다.
docker run -d 8080:80 nginx
OPTIONS에 들어갈 수 있는 그리고 자주 사용되는 명령어를 알아보겠습니다.
--name
컨테이너의 이름을 짓습니다.
-p
컨테이너의 포트를 호소트의 포트에 공개합니다.
컨테이너 외부에서 컨테이너에 접근할 때 사용합니다.
-e
컨테이너 내부에 환경변수를 설정합니다.
-d
컨테이너를 detached mode로 실행합니다.
detached mode는 컨테이너를 백그라운드에서 실행하고 콘솔에 로그를 보여주지 않습니다.
-v
호스트의 볼륨을 컨테이너에 마운트 합니다.
이는 컨테이너에서 영구적으로 저장할 데이터가 있을 때 유용합니다.
현재 실행중인 컨테이너를 보고 싶다면 아래 명령어를 통해 가능합니다.
docker container ls
만약 실행중이지 않은 컨테이너도 보고 싶다면 -a을 넣으면 됩니다.
docker container ls -a
실행중인 컨테이너의 쉘에 접근하고 싶다면 docker exec 명령어를 이용하면 됩니다.
docker exec -it container_id bash
컨테이너를 중지하고 싶다면 docker stop 명령어를 이용하면 됩니다.
docker container stop container_id
컨테이너를 삭제하고 싶다면 docker rm 명령어를 사용하면 됩니다.
docker container tm container_id
만약 컨테이너를 테스트 용으로 만들어 사용하고 바로 삭제하고 싶다면 아래와 같은 명령어를 사용하면 됩니다.
docker run -it -rm Image