OS/Docker

run

MellowHoney 2024. 4. 1. 19:05
728x90
๋ฐ˜์‘ํ˜•

์„ค๋ช…

๐Ÿ”– ์ด๋ฏธ์ง€์—์„œ ์ƒˆ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰

์‚ฌ์šฉ๋ฒ•

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

์˜ต์…˜

  • ์ฃผ ์˜ต์…˜
    • --name : ์ด๋ฆ„ ์ง€์ •
    • -p : ์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ๋ฅผ ํ˜ธ์ŠคํŠธ์— ๊ฒŒ์‹œ
    • -itd : STDIN์—ด๊ธฐ, tty ํ• ๋‹น, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ฐ ์ปจ๋ฐ์ด๋„ˆ id์ธ์‡„
  • ์˜ต์…˜ ๋ฆฌ์ŠคํŠธ
    Option  Short  Default  Description
    --add-host     ์‚ฌ์šฉ์ž ์ •์˜ ํ˜ธ์ŠคํŠธ-IP ๋งคํ•‘(host:ip) ์ถ”๊ฐ€
    --annotation     API 1.43+ ์ปจํ…Œ์ด๋„ˆ์— ์ฃผ์„ ์ถ”๊ฐ€(OCI ๋Ÿฐํƒ€์ž„์œผ๋กœ ์ „๋‹ฌ๋จ)
    --attach -a   STDIN, STDOUT ๋˜๋Š” STDERR์— ์—ฐ๊ฒฐ
    --blkio-weight     ๋ธ”๋ก IO(์ƒ๋Œ€ ๊ฐ€์ค‘์น˜), 10~1000 ์‚ฌ์ด, ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด 0(๊ธฐ๋ณธ๊ฐ’ 0)
    --blkio-weight-device     ๋ธ”๋ก IO ๊ฐ€์ค‘์น˜(์ƒ๋Œ€ ์žฅ์น˜ ๊ฐ€์ค‘์น˜)
    --cap-add     Linux ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    --cap-drop     Linux ๊ธฐ๋Šฅ ์‚ญ์ œ
    --cgroup-parent     ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ์„ ํƒ์  ์ƒ์œ„ cgroup
    --cgroupns     API 1.41+ ์‚ฌ์šฉํ•  Cgroup ๋„ค์ž„์ŠคํŽ˜์ด์Šค (host
    'host': Docker ํ˜ธ์ŠคํŠธ์˜ cgroup ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.      
    'private': ์ž์ฒด ํ”„๋ผ์ด๋น— cgroup ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.      
    '': ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ cgroup ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.      
    ๋ฐ๋ชฌ์˜ -cgroupns-mode ์˜ต์…˜(๊ธฐ๋ณธ๊ฐ’)      
    --cidfile     ํŒŒ์ผ์— ์ปจํ…Œ์ด๋„ˆ ID๋ฅผ ์”๋‹ˆ๋‹ค.
    --cpu-count     CPU ์ˆ˜(Windows์—๋งŒ ํ•ด๋‹น)
    --cpu-percent     CPU ๋น„์œจ(Windows์—๋งŒ ํ•ด๋‹น)
    --cpu-period     CPU CFS(Completely Fair Scheduler) ๊ธฐ๊ฐ„ ์ œํ•œ
    --cpu-quota     CPU CFS(Completely Fair Scheduler) ํ• ๋‹น๋Ÿ‰ ์ œํ•œ
    --cpu-rt-period     API 1.25+ CPU ์‹ค์‹œ๊ฐ„ ๊ธฐ๊ฐ„์„ ๋งˆ์ดํฌ๋กœ์ดˆ ๋‹จ์œ„๋กœ ์ œํ•œ
    --cpu-rt-runtime     API 1.25+ CPU ์‹ค์‹œ๊ฐ„ ๋Ÿฐํƒ€์ž„์„ ๋งˆ์ดํฌ๋กœ์ดˆ ๋‹จ์œ„๋กœ ์ œํ•œ
    --cpu-shares -c   CPU ์ ์œ ์œจ(์ƒ๋Œ€์  ๊ฐ€์ค‘์น˜)
    --cpus     API 1.25+ CPU ์ˆ˜
    --cpuset-cpus     ์‹คํ–‰์„ ํ—ˆ์šฉํ•  CPU(0-3, 0,1)
    --cpuset-mems     ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” MEM(0-3, 0,1)
    --detach -d   ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ ID๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
    --detach-keys     ์ปจํ…Œ์ด๋„ˆ ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•œ ํ‚ค ์‹œํ€€์Šค ์žฌ์ •์˜
    --device     ์ปจํ…Œ์ด๋„ˆ์— ํ˜ธ์ŠคํŠธ ์žฅ์น˜ ์ถ”๊ฐ€
    --device-cgroup-rule     cgroup ํ—ˆ์šฉ ์žฅ์น˜ ๋ชฉ๋ก์— ๊ทœ์น™ ์ถ”๊ฐ€
    --device-read-bps     ์žฅ์น˜์˜ ์ฝ๊ธฐ ์†๋„(์ดˆ๋‹น ๋ฐ”์ดํŠธ ์ˆ˜) ์ œํ•œ
    --device-read-iops     ์žฅ์น˜์˜ ์ฝ๊ธฐ ์†๋„(์ดˆ๋‹น IO) ์ œํ•œ
    --device-write-bps     ์žฅ์น˜์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์†๋„(์ดˆ๋‹น ๋ฐ”์ดํŠธ ์ˆ˜)๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
    --device-write-iops     ์žฅ์น˜์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์†๋„(์ดˆ๋‹น IO) ์ œํ•œ
    --disable-content-trust   true ์ด๋ฏธ์ง€ ํ™•์ธ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
    --dns     ์‚ฌ์šฉ์ž ์ •์˜ DNS ์„œ๋ฒ„ ์„ค์ •
    --dns-opt     DNS ์˜ต์…˜ ์„ค์ •
    --dns-option     DNS ์˜ต์…˜ ์„ค์ •
    --dns-search     ์‚ฌ์šฉ์ž ์ •์˜ DNS ๊ฒ€์ƒ‰ ๋„๋ฉ”์ธ ์„ค์ •
    --domainname     ์ปจํ…Œ์ด๋„ˆ NIS ๋„๋ฉ”์ธ ์ด๋ฆ„
    --entrypoint     ์ด๋ฏธ์ง€์˜ ๊ธฐ๋ณธ ENTRYPOINT ๋ฎ์–ด์“ฐ๊ธฐ
    --env -e   ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
    --env-file     ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ ์ฝ๊ธฐ
    --expose     ํฌํŠธ ๋˜๋Š” ํฌํŠธ ๋ฒ”์œ„ ๋…ธ์ถœ
    --gpus     ์ปจํ…Œ์ด๋„ˆ์— ์ถ”๊ฐ€ํ•  API 1.40+ GPU ์žฅ์น˜(๋ชจ๋“  GPU๋ฅผ ์ „๋‹ฌํ•˜๋ ค๋ฉด 'all')
    --group-add     ์ฐธ์—ฌํ•  ๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”
    --health-cmd     ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น
    --health-interval     ๊ฒ€์‚ฌ ์‹คํ–‰ ์‚ฌ์ด์˜ ์‹œ๊ฐ„(ms
    --health-retries     ๋น„์ •์ƒ์„ ๋ณด๊ณ ํ•˜๋ ค๋ฉด ์—ฐ์†์ ์ธ ์‹คํŒจ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    --health-start-period     API 1.29+ ์ƒํƒœ ์žฌ์‹œ๋„ ์นด์šดํŠธ๋‹ค์šด์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ดˆ๊ธฐํ™”๋˜๋Š” ์‹œ์ž‘ ๊ธฐ๊ฐ„(ms
    --health-timeout     ํ•œ ๋ฒˆ์˜ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„(ms
    --help     ์ธ์‡„ ์šฉ๋„
    --hostname -h   ์ปจํ…Œ์ด๋„ˆ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„
    --init     API 1.25+ ์‹ ํ˜ธ๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์ดˆ๊ธฐํ™”๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    --interactive -i   ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ STDIN์„ ์—ด์–ด ๋‘์‹ญ์‹œ์˜ค.
    --io-maxbandwidth     ์‹œ์Šคํ…œ ๋“œ๋ผ์ด๋ธŒ์˜ ์ตœ๋Œ€ IO ๋Œ€์—ญํญ ์ œํ•œ(Windows์—๋งŒ ํ•ด๋‹น)
    --io-maxiops     ์‹œ์Šคํ…œ ๋“œ๋ผ์ด๋ธŒ์˜ ์ตœ๋Œ€ IOps ์ œํ•œ(Windows์—๋งŒ ํ•ด๋‹น)
    --ip     IPv4 ์ฃผ์†Œ(์˜ˆ: 172.30.100.104)
    --ip6     IPv6 ์ฃผ์†Œ(์˜ˆ: 2001:db8::33)
    --ipc     ์‚ฌ์šฉํ•  IPC ๋ชจ๋“œ
    --isolation     ์ปจํ…Œ์ด๋„ˆ ๊ฒฉ๋ฆฌ ๊ธฐ์ˆ 
    --kernel-memory     ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ
    --label -l   ์ปจํ…Œ์ด๋„ˆ์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •
    --label-file     ์ค„๋กœ ๊ตฌ๋ถ„๋œ ๋ ˆ์ด๋ธ” ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค.
    --link     ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์— ๋งํฌ ์ถ”๊ฐ€
    --link-local-ip     ์ปจํ…Œ์ด๋„ˆ IPv4/IPv6 ๋งํฌ-๋กœ์ปฌ ์ฃผ์†Œ
    --log-driver     ์ปจํ…Œ์ด๋„ˆ์šฉ ๋กœ๊น… ๋“œ๋ผ์ด๋ฒ„
    --log-opt     ๋กœ๊ทธ ๋“œ๋ผ์ด๋ฒ„ ์˜ต์…˜
    --mac-address     ์ปจํ…Œ์ด๋„ˆ MAC ์ฃผ์†Œ(์˜ˆ: 92:d0:c6:0a:29:33)
    --memory -m   ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„
    --memory-reservation     ๋ฉ”๋ชจ๋ฆฌ ์†Œํ”„ํŠธ ์ œํ•œ
    --memory-swap     ๋ฉ”๋ชจ๋ฆฌ์— ์Šค์™‘์„ ๋”ํ•œ ๊ฐ’๊ณผ ๋™์ผํ•œ ์Šค์™‘ ์ œํ•œ: ๋ฌด์ œํ•œ ์Šค์™‘์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด '-1'
    --memory-swappiness   -1 ์ปจํ…Œ์ด๋„ˆ ๋ฉ”๋ชจ๋ฆฌ ๊ตํ™˜ ์กฐ์ •(0~100)
    --mount     ์ปจํ…Œ์ด๋„ˆ์— ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ ์—ฐ๊ฒฐ
    --name     ์ปจํ…Œ์ด๋„ˆ์— ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    --net     ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ
    --net-alias     ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ๋ฒ”์œ„ ๋ณ„์นญ ์ถ”๊ฐ€
    --network     ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ
    --network-alias     ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ๋ฒ”์œ„ ๋ณ„์นญ ์ถ”๊ฐ€
    --no-healthcheck     ์ปจํ…Œ์ด๋„ˆ ์ง€์ • HEALTHCHECK๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
    --oom-kill-disable     OOM Killer ๋น„ํ™œ์„ฑํ™”
    --oom-score-adj     ํ˜ธ์ŠคํŠธ์˜ OOM ๊ธฐ๋ณธ ์„ค์ • ์กฐ์ •(-1000~1000)
    --pid     ์‚ฌ์šฉํ•  PID ๋„ค์ž„์ŠคํŽ˜์ด์Šค
    --pids-limit     ์ปจํ…Œ์ด๋„ˆ PID ์ œํ•œ ์กฐ์ •(๋ฌด์ œํ•œ์ธ ๊ฒฝ์šฐ -1๋กœ ์„ค์ •)
    --platform     API 1.32+ ์„œ๋ฒ„๊ฐ€ ๋‹ค์ค‘ ํ”Œ๋žซํผ์„ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ํ”Œ๋žซํผ ์„ค์ •
    --privileged     ์ด ์ปจํ…Œ์ด๋„ˆ์— ํ™•์žฅ ๊ถŒํ•œ ๋ถ€์—ฌ
    --publish -p   ์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ๋ฅผ ํ˜ธ์ŠคํŠธ์— ๊ฒŒ์‹œ
    --publish-all -P   ๋…ธ์ถœ๋œ ๋ชจ๋“  ํฌํŠธ๋ฅผ ์ž„์˜์˜ ํฌํŠธ์— ๊ฒŒ์‹œ
    --pull   missing ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ( always, missing, never)
    --quiet -q   ํ’€ ์ถœ๋ ฅ ์–ต์ œ
    --read-only     ์ปจํ…Œ์ด๋„ˆ์˜ ๋ฃจํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค.
    --restart   no ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ์ ์šฉํ•  ๋‹ค์‹œ ์‹œ์ž‘ ์ •์ฑ…
    --rm     ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ์ œ๊ฑฐ
    --runtime     ์ด ์ปจํ…Œ์ด๋„ˆ์— ์‚ฌ์šฉํ•  ๋Ÿฐํƒ€์ž„
    --security-opt     ๋ณด์•ˆ ์˜ต์…˜
    --shm-size     /dev/shm์˜ ํฌ๊ธฐ
    --sig-proxy   true ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ํ”„๋ก์‹œ ์ˆ˜์‹  ์‹ ํ˜ธ
    --stop-signal     ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฉˆ์ถ”๋ผ๋Š” ์‹ ํ˜ธ
    --stop-timeout     API 1.25+ ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ์‹œ๊ฐ„ ์ œํ•œ(์ดˆ)
    --storage-opt     ์ปจํ…Œ์ด๋„ˆ์˜ ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„ ์˜ต์…˜
    --sysctl     Sysctl ์˜ต์…˜
    --tmpfs     tmpfs ๋””๋ ‰ํ† ๋ฆฌ ๋งˆ์šดํŠธ
    --tty -t   ์˜์‚ฌ TTY ํ• ๋‹น
    --ulimit     ๋ฌด์ œํ•œ ์˜ต์…˜
    --user -u   ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋˜๋Š” UID(ํ˜•์‹: <name
    --userns     ์‚ฌ์šฉํ•  ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค
    --uts     ์‚ฌ์šฉํ•  UTS ๋„ค์ž„์ŠคํŽ˜์ด์Šค
    --volume -v   ๋ณผ๋ฅจ ๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ
    --volume-driver     ์ปจํ…Œ์ด๋„ˆ์šฉ ์„ ํƒ์  ๋ณผ๋ฅจ ๋“œ๋ผ์ด๋ฒ„
    --volumes-from     ์ง€์ •๋œ ์ปจํ…Œ์ด๋„ˆ์˜ ๋ณผ๋ฅจ ๋งˆ์šดํŠธ
    --workdir -w   ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ

์˜ˆ์‹œ

# ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ
$ docker network create my-net
$ docker run -itd --network=my-net busybox
๋ฐ˜์‘ํ˜•