옵션 | 설명 | 예시 명령어 |
---|---|---|
--rm | 컨테이너 실행 후 종료되면 자동으로 삭제된다. | docker run --rm hello-world |
-d | 백그라운드(Detach 모드)에서 실행된다. | docker run -d nginx |
--name | 컨테이너에 고유 이름을 부여한다. | docker run --name mynginx nginx |
-a | Attach 모드로 실행되어 출력을 터미널에서 실시간으로 확인할 수 있다. | docker start -a hello_test |
-e | 개별 환경 변수를 설정한다. | docker run -e VAR_NAME=value nginx |
--env-file | 환경 변수 파일에서 환경 변수를 로드한다. | docker run --env-file ./env.list nginx |
-p | 호스트와 컨테이너의 포트를 직접 매핑한다. | docker run --rm -d -p 8080:80 --name mynginx nginx |
-P | 호스트의 임의의 포트에 자동으로 매핑한다. | docker run --rm -d -P --name auto_nginx nginx |
명령어 | 설명 | 예시 명령어 |
---|---|---|
docker pull | 도커 이미지를 다운로드한다. | docker pull nginx |
docker images | 다운로드된 도커 이미지 목록을 확인한다. | docker images |
docker rmi | 다운로드된 도커 이미지를 삭제한다. | docker rmi nginx:1.25 |
docker run | 새로운 컨테이너를 실행한다. | docker run hello-world |
docker ps | 실행 중인 컨테이너 목록을 확인한다. | docker ps |
docker ps -a | 모든 컨테이너(중지된 컨테이너 포함) 목록을 확인한다. | docker ps -a |
docker logs | 실행 중인 컨테이너의 로그를 확인한다. | docker logs [CONTAINER ID] |
docker logs -f | 실시간 로그를 모니터링한다. | docker logs -f mynginx |
docker logs --timestamps | 로그에 타임스탬프를 포함한다. | docker logs --timestamps mynginx |
docker stop | 백그라운드에서 실행 중인 컨테이너를 중지한다. | docker stop [CONTAINER ID] |
docker rm | 컨테이너를 삭제한다. | docker rm [CONTAINER ID] |
docker rm -f | 실행 중인 컨테이너를 강제로 삭제한다. | docker rm -f mycontainer |
docker start | 중지된 컨테이너를 재시작한다. | docker start mynginx |
docker start -a | Attach 모드로 재시작해 출력을 터미널에서 확인한다. | docker start -a mynginx |
docker kill | 컨테이너를 강제로 종료한다. | docker kill mycontainer |
docker inspect | 컨테이너의 다양한 정보를 JSON 형식으로 확인한다. | docker inspect mynginx |
컨테이너 이름 중복 불가:
Docker 내부에서 이름은 고유 식별자로 사용되기 때문에, 같은 이름으로 컨테이너를 두 개 이상 실행할 수 없다.
내부 포트 중복 가능:
컨테이너는 각각 독립적인 네트워크 네임스페이스를 가지므로, 내부 포트(예: 80)는 여러 컨테이너에서 동시에 사용할 수 있다.
start
명령어:
기본적으로 디태치 모드(detached mode) 로 실행되기 때문에, 실시간 출력을 보려면 -a
옵션을 사용해 포그라운드에서 실행해야 한다.