docker compose run

docker compose run

docker compose run은 서비스에서 일회성(one-off) 명령을 실행하는 명령이에요. 일회성 작업이나 임시 셸을 띄울 때 사용해요.

출처: 문서

본문

docker compose run은 서비스에 대한 일회성 명령을 실행해요. exec와 달리 새 컨테이너를 만들어 명령을 실행하며, 포트 충돌을 피하기 위해 기본적으로 게시 포트를 노출하지 않아요.

지원하는 옵션은 다음과 같아요.

옵션 기본값 설명
--build 컨테이너를 시작하기 전에 이미지를 빌드해요
--cap-add Linux 역량(capability)을 추가해요
--cap-drop Linux 역량을 빼요
-d, --detach 백그라운드(detached) 모드로 실행해요
--entrypoint 이미지의 기본 ENTRYPOINT를 덮어써요
-e, --env 환경 변수를 설정해요
--env-from-file 환경 변수를 파일에서 설정해요
-i, --interactive true STDIN을 유지해요
-l, --label 컨테이너에 메타데이터를 설정해요
--name 컨테이너에 이름을 지정해요
--no-deps 연결된 서비스를 시작하지 않아요
-T, --no-tty true 의사-TTY 할당을 비활성화해요
-p, --publish 컨테이너의 포트를 호스트에 게시해요
--pull policy 생성 전에 이미지를 가져올지 정해요 (always, missing, never)
-q, --quiet 구성만 검증하고 아무것도 출력하지 않아요
--quiet-build 빌드 출력을 숨겨요
--quiet-pull 진행 정보를 출력하지 않고 그냥 가져와요
--remove-orphans Compose 파일에 정의되지 않은 서비스의 컨테이너를 제거해요
--rm 종료 시 컨테이너와 익명 볼륨을 자동으로 제거해요
-P, --service-ports 모든 서비스의 포트로 명령을 실행해요
--use-aliases 서비스의 네트워크 별칭(useAliases)을 사용해요
-u, --user 사용자 이름 또는 UID를 정해요
-v, --volume 볼륨을 바인드 마운트해요
-w, --workdir 컨테이너 안 작업 디렉터리를 정해요

더 알아보기