Search

exec

대분류
DevOps/Tool
소분류
Docker
설명
실행 중인 컨테이너에서 명령 실행
유형
명령어
주요 레퍼런스
https://docs.docker.com/engine/reference/commandline/exec/
최종 편집 일시
2024/10/31 03:30
생성 일시
2024/01/12 08:40
13 more properties

설명

실행 중인 컨테이너에서 명령 실행

사용법

$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Bash
복사

옵션

주 명령어
-it [container] [shell] : 컨테이너에서 실시간으로 켜져있는 쉘 터미널 실행
Option
Short
Default
Description
--detach
-d
분리 모드: 백그라운드에서 명령 실행
--detach-keys
컨테이너 분리를 위한 키 시퀀스 재정의
--env
-e
API 1.25+ 환경 변수 설정
--env-file
API 1.25+ 환경 변수 파일 읽기
--interactive
-i
연결되지 않은 경우에도 STDIN(Standard Input)을 열어 두십시오.
--privileged
명령에 확장 권한 부여
--tty
-t
의사 TTY(cmd) 할당
--user
-u
사용자 이름 또는 UID(형식: <name|uid>[:<group|gid>])
--workdir
-w
API 1.35+ 컨테이너 내부의 작업 디렉터리

예시

# 셸을 기본 프로세스로 사용하여 이미지 mycontainer에서 이름이 지정된 컨테이너가 생성되고 시작. # 옵션 ( 의 약칭 )은 의사 TTY가 연결된( ) 상태로 분리 모드로 백그라운드에서 실행되도록 컨테이너를 설정. # 옵션은 연결 유지( )로 설정되어 프로세스가 즉시 종료 $ docker run --name mycontainer -d -i -t alpine /bin/sh # /tmp/execWorks그러면 실행 중인 컨테이너 내부에 mycontainer백그라운드에서 새 파일이 생성 $ docker exec -d mycontainer touch /tmp/execWorks # 컨테이너에서 새 셸 세션이 시작 $ docker exec -it mycontainer sh # 이 docker exec명령은 컨테이너가 생성될 때 설정된 환경 변수를 상속. # 전역 환경 변수를 재정의하거나 에서 시작한 프로세스에 대한 추가 환경 변수를 설정하려면 --env(또는 약칭)을 사용. $ docker exec -e VAR_A=1 -e VAR_B=2 mycontainer env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=f64a4851eb71 VAR_A=1 VAR_B=2 HOME=/root # --workdir옵션(또는 -w단축형)을 사용하여 실행할 명령에 대한 대체 작업 디렉터리를 지정 $ docker exec -it -w /root mycontainer pwd /root
Bash
복사