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 |
컨테이너 안 작업 디렉터리를 정해요 |