OS/Docker
exec
MellowHoney
2024. 4. 1. 19:26
728x90
λ°μν
μ€λͺ
π μ€ν μ€μΈ 컨ν μ΄λμμ λͺ λ Ή μ€ν
μ¬μ©λ²
$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
μ΅μ
- μ£Ό λͺ
λ Ήμ΄
- -it [container] [shell] : 컨ν μ΄λμμ μ€μκ°μΌλ‘ μΌμ Έμλ μ ν°λ―Έλ μ€ν
Option | Short | Default | Descripion |
--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 | |
--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
λ°μν