Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ docker-run ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
docker-run - ์ ์ปจํ ์ด๋์์ ๋ช ๋ น ์คํ
๊ฐ์
๋์ปค ์ด์ [-a|--๋ถ์ด๋ค[=[]]] [--์ถ๊ฐ-ํธ์คํธ[=[]]] [--blkio-๋ฌด๊ฒ[=[BLKIO-์จ์ดํธ]]]
[--blkio-๋ฌด๊ฒ-์ฅ์น[=[]]] [--cpu ๊ณต์ [=0]] [--์บก ์ถ๊ฐ[=[]]] [--์บก-๋๋กญ[=[]]]
[--cgroup-๋ถ๋ชจ[=CGROUP-๊ฒฝ๋ก]] [--cidํ์ผ[=CIDํ์ผ]] [--cpu ๊ธฐ๊ฐ[=0]] [--cpu ํ ๋น๋[=0]]
[--cpuset-cpus[=CPUSET-CPU]] [--cpuset-mems[=CPUSET-MEMS]] [-d|--๋ถ๋ฆฌํ๋ค]
[--๋ถ๋ฆฌ ํค[=[]]] [--์ฅ์น[=[]]] [--์ฅ์น ์ฝ๊ธฐ-bps[=[]]] [--์ฅ์น ์ฝ๊ธฐ-ios[=[]]]
[--์ฅ์น ์ฐ๊ธฐ bps[=[]]] [--์ฅ์น ์ฐ๊ธฐ ios[=[]]] [--DNS[=[]]] [--dns-opt[=[]]]
[--dns-๊ฒ์[=[]]] [-e|--env[=[]]] [--์ง์ ์ง์ [=์ง์ ์ง์ ]] [--env ํ์ผ[=[]]]
[--ํญ๋กํ๋ค[=[]]] [--๊ทธ๋ฃน ์ถ๊ฐ[=[]]] [-h|--ํธ์คํธ ์ด๋ฆ[=ํธ์คํธ ์ด๋ฆ]] [--๋์] [-i|--์ธํฐ๋ ํฐ๋ธ]
[--ip[=IPv4-์ฃผ์]] [--ip6[=IPv6-์ฃผ์]] [--ipc[=IPC]] [--๊ฒฉ๋ฆฌ[=๋ํดํธ ๊ฐ]]
[--์ปค๋ ๋ฉ๋ชจ๋ฆฌ[=์ปค๋ ๋ฉ๋ชจ๋ฆฌ]] [-l|--์ํ[=[]]] [--๋ ์ด๋ธ ํ์ผ[=[]]] [--๋งํฌ[=[]]]
[--๋ก๊ทธ ๋๋ผ์ด๋ฒ[=[]]] [--๋ก๊ทธ ์ต์ [=[]]] [-m|--๋ฉ๋ชจ๋ฆฌ[=๋ฉ๋ชจ๋ฆฌ]] [--mac ์ฃผ์[=MAC ์ฃผ์]]
[--๋ฉ๋ชจ๋ฆฌ ์์ฝ[=๋ฉ๋ชจ๋ฆฌ ์์ฝ]] [--๋ฉ๋ชจ๋ฆฌ ์ค์[=์ ํ]]
[--๋ฉ๋ชจ๋ฆฌ ๊ตํ[=๋ฉ๋ชจ๋ฆฌ ๊ตํ]] [--์ด๋ฆ[=์ด๋ฆ]] [--๊ทธ๋ฌผ[="๋ค๋ฆฌ"]]
[--net-๋ณ์นญ[=[]]] [--oom-kill-๋นํ์ฑํ] [--oom ์ ์ ์กฐ์ [=0]] [-P|--๋ชจ๋ ๊ฒ์]
[-p|--๊ฒ์[=[]]] [--pid[=[]]] [--ํน๊ถ] [--์ฝ๊ธฐ ์ ์ฉ] [--์ฌ์์[=์ฌ์์]] [--NS]
[--๋ณด์ ์ต์ [=[]]] [--์ ์ง ์ ํธ[=์ ํธ]] [--shm-ํฌ๊ธฐ[=[]]] [--sig ํ๋ก์[=์ฐธ๋]]
[-t|--ํฐ] [--tmpfs[=[์ปจํ ์ด๋ ๋๋ ํ ๋ฆฌ[: ]]] [-u|--์ฌ์ฉ์[=USER]] [--ulimit[=[]]]
[--uts[=[]]] [-v|--์ฉ๋[=[[ํธ์คํธ ๋๋ ํฐ๋ฆฌ:]์ปจํ ์ด๋ ๋๋ ํฐ๋ฆฌ[:์ต์ ]]]]
[--๋ณผ๋ฅจ ๋๋ผ์ด๋ฒ[=๋๋ผ์ด๋ฒ]] [--๋ณผ๋ฅจ-์์[=[]]] [-w|--workdir[=์์ ๋๋ ํฐ๋ฆฌ]] ์ด๋ฏธ์ง [๋ช ๋ น์ด]
[์๊ทธ...]
๊ธฐ์
์ ์ปจํ ์ด๋์์ ํ๋ก์ธ์ค๋ฅผ ์คํํฉ๋๋ค. ๋์ปค ์ด์ ์์ฒด ํ์ผ ์์คํ ์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ์์ํฉ๋๋ค.
์์ฒด ๋คํธ์ํน ๋ฐ ์์ฒด ๊ฒฉ๋ฆฌ๋ ํ๋ก์ธ์ค ํธ๋ฆฌ์ ๋๋ค. ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ IMAGE
์ปจํ ์ด๋์์ ์คํ๋ ํ๋ก์ธ์ค์ ๊ด๋ จ๋ ๊ธฐ๋ณธ๊ฐ์ ์ ์ํ ์ ์์ต๋๋ค.
๋คํธ์ํน ๋ฑ์ ๋ ธ์ถํ์ง๋ง ๋์ปค ์ด์ ์ด์์์๊ฒ ์ต์ข ์ ์ด๊ถ์ ๋ถ์ฌํ๊ฑฐ๋
์ด๋ฏธ์ง์์ ์ปจํ ์ด๋๋ฅผ ์์ํ๋ ๊ด๋ฆฌ์์ ๋๋ค. ๊ทธ๋ฐ ์ด์ ๋ก ๋์ปค ์ด์ ๋์๋ค
๋ค๋ฅธ Docker ๋ช ๋ น๋ณด๋ค ์ต์ .
IMAGE๊ฐ ์์ง ๋ก๋๋์ง ์์ ๊ฒฝ์ฐ ๋์ปค ์ด์ IMAGE๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ชจ๋ ์ด๋ฏธ์ง
๋์ผํ ๋ฐฉ์์ผ๋ก ์ ์ฅ์์์ ์ข ์์ฑ ์คํ ๋์ปค ๋น๊ฒจ ์ด๋ฏธ์ง, ๊ทธ ์ ์
ํด๋น ์ด๋ฏธ์ง์์ ์ปจํ ์ด๋๋ฅผ ์์ํฉ๋๋ค.
์ต์
-a, --๋ถ์ด๋ค=[]
STDIN, STDOUT ๋๋ STDERR์ ์ฐ๊ฒฐํฉ๋๋ค.
์ ๊ฒฝ ๋ชจ๋์์(๊ธฐ๋ณธ๊ฐ์ -d ์ง์ ๋์ง ์์), ๋์ปค ์ด์ ์์ํ ์ ์์ต๋๋ค
์ปจํ ์ด๋์์ ํ๋ก์ธ์คํ๊ณ ์ฝ์์ ํ๋ก์ธ์ค์ ํ์ค ์ ๋ ฅ, ์ถ๋ ฅ,
๋ฐ ํ์ค ์ค๋ฅ. TTY์ธ ๊ฒ์ฒ๋ผ ๊ฐ์ฅํ ์๋ ์์ต๋๋ค(์ด๊ฒ์ ๋๋ถ๋ถ์ ๋ช ๋ น์ค
์คํ ํ์ผ ๊ธฐ๋) ์ ํธ๋ฅผ ์ ๋ฌํฉ๋๋ค. ๊ทธ๋งํผ -a stdin ๊ฐ๊ฐ์ ๋ํด ์ต์ ์ ์ค์ ํ ์ ์์ผ๋ฉฐ,
stdout ๋ฐ stderr.
--์ถ๊ฐ-ํธ์คํธ=[]
์ฌ์ฉ์ ์ง์ ํธ์คํธ-IP ๋งคํ ์ถ๊ฐ(host:ip)
/etc/hosts์ ํ ์ค์ ์ถ๊ฐํฉ๋๋ค. ํ์์ ํธ์คํธ ์ด๋ฆ:ip์ ๋๋ค. ๊ทธ๋งํผ --์ถ๊ฐ-ํธ์คํธ ์ต์ ์ ์ค์ ํ ์ ์์ต๋๋ค
์ฌ๋ฌ ๋ฒ.
--blkio-๋ฌด๊ฒ=0
๋ธ๋ก IO ๊ฐ์ค์น(์๋ ๊ฐ์ค์น)๋ 10์์ 1000 ์ฌ์ด์ ๊ฐ์ค์น ๊ฐ์ ํ์ฉํฉ๋๋ค.
--blkio-๋ฌด๊ฒ-์ฅ์น=[]
๋ธ๋ก IO ๊ฐ์ค์น(์๋ ์ฅ์น ๊ฐ์ค์น, ํ์: DEVICE_NAME:๋ฌด๊ฒ).
--cpu ๊ณต์ =0
CPU ๊ณต์ (์๋ ๊ฐ์ค์น)
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ปจํ ์ด๋๋ ๋์ผํ ๋น์จ์ CPU ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ต๋๋ค. ์ด ๋น์จ์
๋ชจ๋ ๊ฐ์ค์น์ ์๋์ ์ธ ์ปจํ ์ด๋์ CPU ๊ณต์ ๊ฐ์ค์น๋ฅผ ๋ณ๊ฒฝํ์ฌ ์์
์คํ ์ค์ธ ๋ค๋ฅธ ์ปจํ ์ด๋.
๊ธฐ๋ณธ๊ฐ์ธ 1024์์ ๋น์จ์ ์์ ํ๋ ค๋ฉด --cpu ๊ณต์ ์ค์ ํ ํ๋๊ทธ
๊ฐ์ค์น๋ 2 ์ด์์ ๋๋ค.
์ด ๋น์จ์ CPU ์ง์ฝ์ ์ธ ํ๋ก์ธ์ค๊ฐ ์คํ ์ค์ธ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค. ์์ ์ด ์์ ๋
ํ ์ปจํ ์ด๋๋ ์ ํด ์ํ์ด๊ณ ๋ค๋ฅธ ์ปจํ ์ด๋๋ ๋จ์ CPU ์๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ค์ ๊ธ์ก
CPU ์๊ฐ์ ์์คํ ์์ ์คํ ์ค์ธ ์ปจํ ์ด๋ ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์๋ฅผ ๋ค์ด, 1024๊ฐ์ ์ปจํ ์ด๋๋ฅผ ์๊ฐํด ๋ณด์ญ์์ค. ํ๋๋ CPU ์ ์ ์จ์ด XNUMX์ด๊ณ ๋ค๋ฅธ ๋ ๊ฐ๋
512์ cpu-share ์ค์ . ์ธ ์ปจํ ์ด๋ ๋ชจ๋์ ํ๋ก์ธ์ค๊ฐ
CPU, ์ฒซ ๋ฒ์งธ ์ปจํ ์ด๋๋ ์ด CPU ์๊ฐ์ 50%๋ฅผ ๋ฐ์ต๋๋ค. ๋ค๋ฒ์งธ ์ถ๊ฐํ๋ฉด
cpu ์ ์ ์จ์ด 1024์ธ ์ปจํ ์ด๋์์ ์ฒซ ๋ฒ์งธ ์ปจํ ์ด๋๋ CPU์ 33%๋ง ์ฐจ์งํฉ๋๋ค. ๊ทธ๋งํผ
๋๋จธ์ง ์ปจํ ์ด๋๋ CPU์ 16.5%, 16.5% ๋ฐ 33%๋ฅผ ๋ฐ์ต๋๋ค.
๋ฉํฐ ์ฝ์ด ์์คํ ์์ CPU ์๊ฐ์ ๊ณต์ ๋ ๋ชจ๋ CPU ์ฝ์ด์ ๋ถ์ฐ๋ฉ๋๋ค. ์ค์ฌ
์ปจํ ์ด๋๋ CPU ์๊ฐ์ 100% ๋ฏธ๋ง์ผ๋ก ์ ํ๋๋ฉฐ ๊ฐ ๊ฐ์ธ์ 100%๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
CPU ์ฝ์ด.
์๋ฅผ ๋ค์ด XNUMX๊ฐ ์ด์์ ์ฝ์ด๊ฐ ์๋ ์์คํ ์ ๊ณ ๋ คํ์ญ์์ค. ํ๋์ ์ปจํ ์ด๋๋ฅผ ์์ํ๋ฉด {C0}
๊ณผ -c=512 ํ๋์ ํ๋ก์ธ์ค์ ๋ค๋ฅธ ์ปจํ ์ด๋ ์คํ {C1} ๊ณผ -c=1024 XNUMX๊ฐ๋ฅผ ๋ฌ๋ฆฌ๋ค
์ด๋ก ์ธํด ๋ค์๊ณผ ๊ฐ์ CPU ๊ณต์ ๋ถํ ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
PID ์ปจํ ์ด๋ CPU CPU ์ ์ ์จ
100 {C0} 0 CPU100์ 0%
101 {C1} 1 CPU100์ 1%
102 {C1} 2 CPU100์ 2%
--์บก ์ถ๊ฐ=[]
Linux ๊ธฐ๋ฅ ์ถ๊ฐ
--์บก-๋๋กญ=[]
Linux ๊ธฐ๋ฅ ์ค๋จ
--cgroup-๋ถ๋ชจ= ""
์ปจํ ์ด๋์ cgroup์ด ์์ฑ๋ cgroup์ ๊ฒฝ๋ก์ ๋๋ค. ๋ง์ฝ ๊ฒฝ๋ก
์ ๋์ ์ด์ง ์์ผ๋ฉด ๊ฒฝ๋ก๋ init์ cgroup ๊ฒฝ๋ก์ ์๋์ ์ธ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
ํ๋ก์ธ์ค. Cgroup์ด ์์ง ์๋ ๊ฒฝ์ฐ ์์ฑ๋ฉ๋๋ค.
--cidํ์ผ= ""
ํ์ผ์ ์ปจํ ์ด๋ ID ์ฐ๊ธฐ
--cpu ๊ธฐ๊ฐ=0
CPU CFS(Completely Fair Scheduler) ๊ธฐ๊ฐ ์ ํ
์ปจํ ์ด๋์ CPU ์ฌ์ฉ๋์ ์ ํํฉ๋๋ค. ์ด ํ๋๊ทธ๋ ์ปจํ ์ด๋์ CPU๋ฅผ ์ ํํ๋๋ก ์ปค๋์ ์๋ฆฝ๋๋ค.
์ง์ ํ ๊ธฐ๊ฐ๋งํผ ์ฌ์ฉํฉ๋๋ค.
--cpuset-cpus= ""
์คํ์ ํ์ฉํ CPU(0-3, 0,1)
--cpuset-mems= ""
์คํ์ ํ์ฉํ ๋ฉ๋ชจ๋ฆฌ ๋ ธ๋(MEM)์ ๋๋ค(0-3, 0,1). NUMA์๋ง ์ ํจ
์์คํ .
์์คํ ์ 0๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ ธ๋(3-XNUMX)๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์์ ์ฌ์ฉํ์ญ์์ค. --cpuset-mems=0,1 ๊ทธ๋ฐ ๋ค์ ์ฒ๋ฆฌ
Docker ์ปจํ ์ด๋์์ ์ฒ์ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ ธ๋์ ๋ฉ๋ชจ๋ฆฌ๋ง ์ฌ์ฉํฉ๋๋ค.
--cpu ํ ๋น๋=0
CPU CFS(Completely Fair Scheduler) ํ ๋น๋ ์ ํ
์ปจํ ์ด๋์ CPU ์ฌ์ฉ๋์ ์ ํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ปจํ ์ด๋๋ ์ ์ฒด CPU ๋ฆฌ์์ค๋ก ์คํ๋ฉ๋๋ค.
์ด ํ๋๊ทธ๋ ์ปจํ ์ด๋์ CPU ์ฌ์ฉ๋์ ์ง์ ํ ํ ๋น๋์ผ๋ก ์ ํํ๋๋ก ์ปค๋์ ์ง์ํฉ๋๋ค.
-d, --๋ถ๋ฆฌํ๋ค=์ฐธ๋|๊ทธ๋ฆ๋
๋ถ๋ฆฌ ๋ชจ๋: ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ปจํ ์ด๋๋ฅผ ์คํํ๊ณ ์ ์ปจํ ์ด๋ ID๋ฅผ ์ธ์ํฉ๋๋ค. ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋ฆ๋.
์ธ์ ๋ ์ง ์คํํ ์ ์์ต๋๋ค. ๋์ปค ps ์คํ์ค์ธ ๋ชฉ๋ก์ ๋ณด๋ ค๋ฉด ๋ค๋ฅธ ์์์
์ฉ๊ธฐ. ๋ค์์ ์ฌ์ฉํ์ฌ ๋ถ๋ฆฌ๋ ์ปจํ ์ด๋์ ๋ค์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๋์ปค ๋ถ์ด๋ค. ๋น์ ์ด ์ ํํ๋ ๊ฒฝ์ฐ
๋ถ๋ฆฌ ๋ชจ๋์์ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ฉด -rm ์ต์ ์ ์ ํํฉ๋๋ค.
tty ๋ชจ๋์์ ์ฐ๊ฒฐ๋๋ฉด ์ปจํ ์ด๋์์ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค(์คํ ์ค์ธ ์ํ๋ก ๋ ์ ์์).
๊ตฌ์ฑ ๊ฐ๋ฅํ ํค ์ํ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ์ํ์ค๋ CTRL-p CTRL-q. ๊ตฌ์ฑ
๋ฅผ ์ฌ์ฉํ๋ ํค ์ํ์ค --๋ถ๋ฆฌ ํค ์ต์ ๋๋ ๊ตฌ์ฑ ํ์ผ. ๋ณด๋ค
๊ตฌ์ฑ-json(5) ๊ตฌ์ฑ ํ์ผ ์ฌ์ฉ์ ๋ํ ๋ฌธ์.
--๋ถ๋ฆฌ ํค= ""
์ปจํ ์ด๋ ๋ถ๋ฆฌ๋ฅผ ์ํ ํค ์ํ์ค๋ฅผ ์ฌ์ ์ํฉ๋๋ค. ํ์์ ๋จ์ผ ๋ฌธ์์ ๋๋ค. [์์ฆ]
or Ctrl ํค- ์ด๋์ ์ค ํ๋์ด๋ค: AZ, @, ^, [, , or _.
--์ฅ์น=[]
์ปจํ ์ด๋์ ํธ์คํธ ์ฅ์น ์ถ๊ฐ(์: --device=/dev/sdc:/dev/xvdc:rwm)
--์ฅ์น ์ฝ๊ธฐ-bps=[]
์ฅ์น์ ์ฝ๊ธฐ ์๋ ์ ํ(์: --device-read-bps=/dev/sda:1mb)
--์ฅ์น ์ฝ๊ธฐ-ios=[]
์ฅ์น์ ์ฝ๊ธฐ ์๋ ์ ํ(์: --device-read-iops=/dev/sda:1000)
--์ฅ์น ์ฐ๊ธฐ bps=[]
์ฅ์น์ ๋ํ ์ฐ๊ธฐ ์๋ ์ ํ(์: --device-write-bps=/dev/sda:1mb)
--์ฅ์น ์ฐ๊ธฐ ios=[]
์ฅ์น์ ์ฐ๊ธฐ ์๋ ์ ํ(์: --device-write-iops=/dev/sda:1000)
--dns-๊ฒ์=[]
์ฌ์ฉ์ ์ง์ DNS ๊ฒ์ ๋๋ฉ์ธ ์ค์ (๊ฒ์์ ์ค์ ํ์ง ์์ผ๋ ค๋ฉด --dns-search=๋ฅผ ์ฌ์ฉํ์ญ์์ค.
๋๋ฉ์ธ)
--dns-opt=[]
์ฌ์ฉ์ ์ง์ DNS ์ต์ ์ค์
--DNS=[]
์ฌ์ฉ์ ์ง์ DNS ์๋ฒ ์ค์
์ด ์ต์ ์ ์ปจํ ์ด๋์ ์ ๋ฌ๋ DNS ๊ตฌ์ฑ์ ์ฌ์ ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํธ์คํธ DNS ๊ตฌ์ฑ์ด ์ปจํ ์ด๋์ ๋ํด ์ ํจํ์ง ์์ ๊ฒฝ์ฐ์ ํ์ํฉ๋๋ค.
(์: 127.0.0.1). ์ด๋ฐ ๊ฒฝ์ฐ์๋ --DNS ํ๋๊ทธ๋ ๋ชจ๋ ์คํ์ ํ์ํฉ๋๋ค.
-e, --env=[]
ํ๊ฒฝ ๋ณ์ ์ค์
์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ค์์ ์ฌ์ฉํ ์ ์๋ ์์์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ปจํ ์ด๋ ๋ด๋ถ์์ ์คํ๋ ํ๋ก์ธ์ค.
--์ง์ ์ง์ = ""
์ด๋ฏธ์ง์ ๊ธฐ๋ณธ ENTRYPOINT๋ฅผ ๋ฎ์ด์๋๋ค.
์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ์ง์ ์ค์ ๋ ๊ธฐ๋ณธ ์ง์ ์ ์ ๋ฎ์ด์ธ ์ ์์ต๋๋ค.
Dockerfile. ์ด๋ฏธ์ง์ ENTRYPOINT๋ COMMAND์ ์ ์ฌํฉ๋๋ค.
์ปจํ ์ด๋๊ฐ ์์๋ ๋ ์คํํ ์ ์์ง๋ง (์๋์ ์ผ๋ก) ์คํํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๋ค.
์ฐ์ธํ๋ค. ENTRYPOINT๋ ์ปจํ ์ด๋์ ๊ธฐ๋ณธ ํน์ฑ ๋๋ ๋์์ ์ ๊ณตํ๋ฏ๋ก
ENTRYPOINT๋ฅผ ์ค์ ํ๋ฉด ๋ง์น ๋ฐ์ด๋๋ฆฌ์ธ ๊ฒ์ฒ๋ผ ์ปจํ ์ด๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ์ต์ ์ด๋ฉฐ COMMAND๋ฅผ ํตํด ๋ ๋ง์ ์ต์ ์ ์ ๋ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ก๋
์ฐ์ฐ์๋ ์ปจํ ์ด๋ ๋ด๋ถ์์ ๋ค๋ฅธ ๊ฒ์ ์คํํ๋ ค๊ณ ํ ์ ์์ผ๋ฏ๋ก
๋ฐํ์ ์ ๊ธฐ๋ณธ ENTRYPOINT๋ฅผ ์ฌ์ฉํ์ฌ --์ง์ ์ง์ ๊ทธ๋ฆฌ๊ณ ์๋ก์ด ๊ฒ์ ์ง์ ํ๋ ๋ฌธ์์ด
์ง์ ์ง์ .
--env ํ์ผ=[]
ํ ์ค๋ก ๊ตฌ๋ถ๋ ํ๊ฒฝ ๋ณ์ ํ์ผ ์ฝ๊ธฐ
--ํญ๋กํ๋ค=[]
ํฌํธ ๋๋ ํฌํธ ๋ฒ์(์: --expose=3300-3310) ๋ ธ์ถ์ Docker์
์ปจํ ์ด๋๋ ๋ฐํ์์ ์ง์ ๋ ๋คํธ์ํฌ ํฌํธ์์ ์์ ๋๊ธฐํฉ๋๋ค. Docker๋ ์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ์ํธ ์ฐ๊ฒฐํ๊ณ ํธ์คํธ ์์คํ ์์ ํฌํธ ๋ฆฌ๋๋ ์ ์ ์ค์ ํฉ๋๋ค.
--๊ทธ๋ฃน ์ถ๊ฐ=[]
์คํํ ๊ทธ๋ฃน์ ์ถ๊ฐํ์ธ์.
-h, --ํธ์คํธ ์ด๋ฆ= ""
์ปจํ ์ด๋ ํธ์คํธ ์ด๋ฆ
์ปจํ ์ด๋ ๋ด๋ถ์์ ์ฌ์ฉํ ์ ์๋ ์ปจํ ์ด๋ ํธ์คํธ ์ด๋ฆ์ ์ค์ ํฉ๋๋ค.
--๋์
์ฌ์ฉ ๋ช ์ธ์ ์ธ์
-i, --์ธํฐ๋ ํฐ๋ธ=์ฐธ๋|๊ทธ๋ฆ๋
์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ STDIN์ ์ด์ด ๋์ญ์์ค. ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋ฆ๋.
true๋ก ์ค์ ํ๋ฉด ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ stdin์ ์ด๋ฆฐ ์ํ๋ก ์ ์งํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ฑฐ์ง์ ๋๋ค.
--ip= ""
์ปจํ ์ด๋์ ์ธํฐํ์ด์ค IPv4 ์ฃผ์๋ฅผ ์ค์ ํฉ๋๋ค(์: 172.23.0.9).
์ ํจ๊ป๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. --๊ทธ๋ฌผ ์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ์ฉ
--ip6= ""
์ปจํ ์ด๋์ ์ธํฐํ์ด์ค IPv6 ์ฃผ์๋ฅผ ์ค์ ํฉ๋๋ค(์: 2001:db8::1b99).
์ ํจ๊ป๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. --๊ทธ๋ฌผ ์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ์ฉ
--ipc= ""
๊ธฐ๋ณธ๊ฐ์ ์ปจํ ์ด๋์ ๋ํ ๊ฐ์ธ IPC ๋ค์์คํ์ด์ค(POSIX SysV IPC)๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค.
'์ปจํ ์ด๋: ': ๊ณต์ ๋ ๋ค๋ฅธ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ, ์ธ๋งํฌ์ด ๋ฐ ๋ฉ์์ง ํ
'ํธ์คํธ': ํธ์คํธ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ, ์ธ๋งํฌ์ด ๋ฐ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ปจํ ์ด๋ ๋ด๋ถ์ ํ. ์ฐธ๊ณ : ํธ์คํธ ๋ชจ๋๋ ์ปจํ ์ด๋์ ๋ก์ปฌ์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ด๋ฏ๋ก ์์ ํ์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
--๊ฒฉ๋ฆฌ="๋ํดํธ ๊ฐ"
๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋์์ ์ฌ์ฉํ๋ ๊ฒฉ๋ฆฌ ๊ธฐ์ ์ ์ ํ์ ์ง์ ํฉ๋๋ค.
-l, --์ํ=[]
์ปจํ ์ด๋์ ๋ํ ๋ฉํ๋ฐ์ดํฐ ์ค์ (์: --label com.example.key=value)
--์ปค๋ ๋ฉ๋ชจ๋ฆฌ= ""
์ปค๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ(ํ์: [ ], ์ฌ๊ธฐ์ ๋จ์ = b, k, m ๋๋ g)
์ปจํ ์ด๋์์ ์ฌ์ฉํ ์ ์๋ ์ปค๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค. ์ ํ์ด 0์ผ๋ก ์ง์ ๋ ๊ฒฝ์ฐ(
์ฌ์ฉ --์ปค๋ ๋ฉ๋ชจ๋ฆฌ), ์ปจํ ์ด๋์ ์ปค๋ ๋ฉ๋ชจ๋ฆฌ๋ ์ ํ๋์ง ์์ต๋๋ค. ๋ค์์ ์ง์ ํ๋ ๊ฒฝ์ฐ
์ ํ์ ๋ฐ๋ผ ์ด์ ์ฒด์ ํ์ด์ง ํฌ๊ธฐ์ ๋ฐฐ์๋ก ๋ฐ์ฌ๋ฆผ๋ ์ ์์ผ๋ฉฐ
๊ทธ ๊ฐ์น๋ ์๋ฐฑ๋ง ์กฐ์ ๋ฌํ๋ ๋งค์ฐ ํด ์ ์์ต๋๋ค.
--๋ ์ด๋ธ ํ์ผ=[]
ํ ์ค๋ก ๊ตฌ๋ถ๋ ๋ ์ด๋ธ ํ์ผ ์ฝ๊ธฐ
--๋งํฌ=[]
๋ค์ ํ์์ผ๋ก ๋ค๋ฅธ ์ปจํ ์ด๋์ ๋ํ ๋งํฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค. :๋ณ์นญ ๋๋ ๊ทธ๋ฅ ~์
์ด ๊ฒฝ์ฐ ๋ณ์นญ์ ์ด๋ฆ๊ณผ ์ผ์นํฉ๋๋ค.
์ด์์๊ฐ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ --๋งํฌ ์ ํด๋ผ์ด์ธํธ ์ปจํ ์ด๋๋ฅผ ์์ํ ๋ ํด๋ผ์ด์ธํธ
์ปจํ ์ด๋๋ ๊ฐ์ธ ๋คํธ์ํน ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ ธ์ถ๋ ํฌํธ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋์ปค๊ฐ ์ค์ ํฉ๋๋ค
ํด๋ผ์ด์ธํธ ์ปจํ ์ด๋์ ์ผ๋ถ ํ๊ฒฝ ๋ณ์๋ ์ด๋ค ์ธํฐํ์ด์ค์
์ฌ์ฉํ ํฌํธ.
--๋ก๊ทธ ๋๋ผ์ด๋ฒ="json ํ์ผ|syslog|์ ๋๋ง|์ คํ|์ ์ฐฝํ|awslogs|ํ๋ค|์์"
์ปจํ ์ด๋์ฉ ๋ก๊น ๋๋ผ์ด๋ฒ. ๊ธฐ๋ณธ๊ฐ์ ๋ฐ๋ชฌ์ ์ํด ์ ์๋ฉ๋๋ค. --๋ก๊ทธ ๋๋ผ์ด๋ฒ ๊น๋ฐ.
๊ฒฝ๊ณ ๋ค์ ๋์ปค ๋ก๊ทธ ๋ช ๋ น์ ๋ค์์ ๋ํด์๋ง ์๋ํฉ๋๋ค. json ํ์ผ ๊ณผ
์ ๋๋ง ๋ก๊น ๋๋ผ์ด๋ฒ.
--๋ก๊ทธ ์ต์ =[]
๋ก๊น ๋๋ผ์ด๋ฒ ํน์ ์ต์ .
-m, --๋ฉ๋ชจ๋ฆฌ= ""
๋ฉ๋ชจ๋ฆฌ ์ ํ(ํ์: [ ], ์ฌ๊ธฐ์ ๋จ์ = b, k, m ๋๋ g)
์ปจํ ์ด๋์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ํธ์คํธ๊ฐ ์ค์์ ์ง์ํ๋ ๊ฒฝ์ฐ
๋ฉ๋ชจ๋ฆฌ, ๊ทธ ๋ค์ -m ๋ฉ๋ชจ๋ฆฌ ์ค์ ์ ์ค์ RAM๋ณด๋ค ํด ์ ์์ต๋๋ค. ํ๊ณ๊ฐ 0์ธ ๊ฒฝ์ฐ
์ง์ (์ฌ์ฉํ์ง ์์ -m), ์ปจํ ์ด๋์ ๋ฉ๋ชจ๋ฆฌ๋ ์ ํ๋์ง ์์ต๋๋ค. ์ค์ ํ๋๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค.
์ด์ ์ฒด์ ํ์ด์ง ํฌ๊ธฐ์ ๋ฐฐ์๋ก ๋ฐ์ฌ๋ฆผ๋ฉ๋๋ค(๊ฐ์
ํฌ๋ฉด ์๋ฐฑ๋ง ์กฐ).
--๋ฉ๋ชจ๋ฆฌ ์์ฝ= ""
๋ฉ๋ชจ๋ฆฌ ์ํํธ ์ ํ(ํ์: [ ], ์ฌ๊ธฐ์ ๋จ์ = b, k, m ๋๋ g)
๋ฉ๋ชจ๋ฆฌ ์์ฝ ์ค์ ํ ์์คํ ์ด ๋ฉ๋ชจ๋ฆฌ ๊ฒฝํฉ ๋๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ ๊ฐ์งํ๋ฉด,
์ปจํ ์ด๋๋ ์์ฝ์ ๋ฐ๋ผ ์๋น๋ฅผ ์ ํํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ๋น์ ์ํด์ผ
ํญ์ ์๋ ๊ฐ์ ์ค์ ํ์ญ์์ค --๋ฉ๋ชจ๋ฆฌ, ๊ทธ๋ ์ง ์์ผ๋ฉด ํ๋ ์ ํ์ด ์ฐ์ ํฉ๋๋ค. ์ ์ํด
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์์ฝ์ ๋ฉ๋ชจ๋ฆฌ ์ ํ๊ณผ ๋์ผํฉ๋๋ค.
--๋ฉ๋ชจ๋ฆฌ ์ค์="ํ๊ณ"
๋ฉ๋ชจ๋ฆฌ์ ์ค์์ ๋ํ ๊ฒ๊ณผ ๊ฐ์ ์ ํ ๊ฐ์ ๋๋ค. ์ ํจ๊ป ์ฌ์ฉํด์ผ ํฉ๋๋ค. -m (--๋ฉ๋ชจ๋ฆฌ) ๊น๋ฐ. NS
๊ตํ ์ ํ ํญ์ ๋ค์๋ณด๋ค ์ปค์ผ ํฉ๋๋ค. -m (--๋ฉ๋ชจ๋ฆฌ) ๊ฐ.
ํ์ ์ ํ is [ ]. ๋จ์ ์ b (๋ฐ์ดํธ), k (ํฌ๋ก๋ฐ์ดํธ), m
(๋ฉ๊ฐ๋ฐ์ดํธ) ๋๋ g (๊ธฐ๊ฐ๋ฐ์ดํธ). ๋จ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด b ์ฌ์ฉ. LIMIT๋ฅผ ๋ค์์ผ๋ก ์ค์ -1 ์
๋ฌด์ ํ ์ค์์ ํ์ฑํํฉ๋๋ค.
--mac ์ฃผ์= ""
์ปจํ ์ด๋ MAC ์ฃผ์(์: 92:d0:c6:0a:29:33)
์ด๋๋ท ๋คํธ์ํฌ์ MAC ์ฃผ์๋ ๊ณ ์ ํด์ผ ํฉ๋๋ค. IPv6 ๋งํฌ ๋ก์ปฌ
์ฃผ์๋ RFC4862์ ๋ฐ๋ฅธ ์ฅ์น์ MAC ์ฃผ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
--์ด๋ฆ= ""
์ปจํ ์ด๋์ ์ด๋ฆ ํ ๋น
์ด์์๋ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ปจํ ์ด๋๋ฅผ ์๋ณํ ์ ์์ต๋๋ค.
UUID ๊ธด ์๋ณ์
(โf78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778โ)
UUID ์งง์ ์๋ณ์("f78375b1c487")
์ด๋ฆ("์๋")
UUID ์๋ณ์๋ Docker ๋ฐ๋ชฌ์์ ๊ฐ์ ธ์ค๊ณ ์ด๋ฆ์ด
์ปจํ ์ด๋ --์ด๋ฆ ๊ทธ๋ฐ ๋ค์ ๋ฐ๋ชฌ์ ์์์ ๋ฌธ์์ด ์ด๋ฆ๋ ์์ฑํฉ๋๋ค. ๊ทธ ์ด๋ฆ์
๋งํฌ๋ฅผ ์ ์ํ ๋ ์ ์ฉํฉ๋๋ค(์ฐธ์กฐ --๋งํฌ) (๋๋ ์๋ณ์ด ํ์ํ ๋ค๋ฅธ ์ฅ์
์ปจํ ์ด๋). ์ด๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ฐ ์ ๊ฒฝ Docker ์ปจํ ์ด๋ ๋ชจ๋์์ ์๋ํฉ๋๋ค.
--๊ทธ๋ฌผ="๋ค๋ฆฌ"
์ปจํ ์ด๋์ ๋คํธ์ํฌ ๋ชจ๋ ์ค์
'bridge': ๊ธฐ๋ณธ Docker์ ๋คํธ์ํฌ ์คํ์ ๋ง๋ญ๋๋ค.
๋ค๋ฆฌ
'์์': ๋คํธ์ํน ์์
'์ปจํ ์ด๋: ': ๋ค๋ฅธ ์ปจํ ์ด๋์ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฌ์ฉ
์คํ
'ํธ์คํธ': Docker ํธ์คํธ ๋คํธ์ํฌ ์คํ์ ์ฌ์ฉํฉ๋๋ค. ์ฐธ๊ณ : ํธ์คํธ
๋ชจ๋๋ ์ปจํ ์ด๋์ D-๋ฒ์ค์ ๊ฐ์ ๋ก์ปฌ ์์คํ ์๋น์ค์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ณ
๋ฐ๋ผ์ ์์ ํ์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
' | ': ์ฌ์ฉ์ ์ ์์ ์ฐ๊ฒฐ
๋คํธ์ํฌ
--net-๋ณ์นญ=[]
์ปจํ ์ด๋์ ๋ํ ๋คํธ์ํฌ ๋ฒ์ ๋ณ์นญ ์ถ๊ฐ
--oom-kill-๋นํ์ฑํ=์ฐธ๋|๊ทธ๋ฆ๋
์ปจํ ์ด๋์ ๋ํด OOM Killer๋ฅผ ๋นํ์ฑํํ ์ง ์ฌ๋ถ์ ๋๋ค.
--oom ์ ์ ์กฐ์ = ""
์ปจํ ์ด๋์ ๋ํ ํธ์คํธ์ OOM ๊ธฐ๋ณธ ์ค์ ์กฐ์ (-1000์์ 1000๊น์ง ํ์ฉ)
-P, --๋ชจ๋ ๊ฒ์=์ฐธ๋|๊ทธ๋ฆ๋
๋ ธ์ถ๋ ๋ชจ๋ ํฌํธ๋ฅผ ํธ์คํธ ์ธํฐํ์ด์ค์ ์์ ํฌํธ์ ๊ฒ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋ฆ๋.
true๋ก ์ค์ ํ๋ฉด ๋ ธ์ถ๋ ๋ชจ๋ ํฌํธ๋ฅผ ํธ์คํธ ์ธํฐํ์ด์ค์ ๊ฒ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ฑฐ์ง์ ๋๋ค.
์ฐ์ฐ์๊ฐ -P(๋๋ -p)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Docker๋ ๋ ธ์ถ๋ ํฌํธ๋ฅผ
ํธ์คํธ์ ํฌํธ๋ ํธ์คํธ์ ๋๋ฌํ ์ ์๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. -P๋ฅผ ์ฌ์ฉํ ๋,
Docker๋ ๋ ธ์ถ๋ ๋ชจ๋ ํฌํธ๋ฅผ ํธ์คํธ ๋ด์ ์์์ ํฌํธ์ ๋ฐ์ธ๋ฉํฉ๋๋ค. ์์๊ฐ์ ํฌํธ
๋ฒ์ ์ ์ํด ์ ์ /proc/sys/net/ipv4/ip_local_port_range. ์ฌ์ด์ ๋งคํ์ ์ฐพ์ผ๋ ค๋ฉด
ํธ์คํธ ํฌํธ์ ๋ ธ์ถ๋ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋์ปค ํฌํธ.
-p, --๊ฒ์=[]
์ปจํ ์ด๋์ ํฌํธ ๋๋ ํฌํธ ๋ฒ์๋ฅผ ํธ์คํธ์ ๊ฒ์ํฉ๋๋ค.
์ฒด์ฌ: ip:ํธ์คํธํฌํธ:์ปจํ ์ด๋ํฌํธ | ip::์ปจํ ์ด๋ํฌํธ | ํธ์คํธํฌํธ:์ปจํ ์ด๋ํฌํธ |
์ปจํ ์ด๋ ํฌํธ hostPort์ containerPort ๋ชจ๋ ํฌํธ ๋ฒ์๋ก ์ง์ ํ ์ ์์ต๋๋ค. ์ธ์
๋ ๋ค์ ๋ํ ๋ฒ์๋ฅผ ์ง์ ํ๋ฉด ๋ฒ์์ ์ปจํ ์ด๋ ํฌํธ ์๊ฐ ์ผ์นํด์ผ ํฉ๋๋ค.
๋ฒ์์ ์๋ ํธ์คํธ ํฌํธ์ ์์ ๋๋ค. (์: ๋์ปค ์ด์ -p 1234-1236 : 1222-1224 --์ด๋ฆ
thisWorks -t ๋น์ง ๋ฐ์ค ํ์ง๋ง ๋์ปค ์ด์ -p 1230-1236 : 1230-1240 --์ด๋ฆ
RangeContainerPortsBiggerThanRangeHostPorts -t ๋น์ง ๋ฐ์ค) IP ์ฌ์ฉ: ๋์ปค ์ด์ -p
127.0.0.1:$HOSTPORT:$์ปจํ ์ด๋ํฌํธ --์ด๋ฆ ์ฝํ ์ด๋ -t ์ด๋ฏธ์ง ๋์ปค ํฌํธ ๋ณผ ์
์ค์ ๋งคํ: ๋์ปค ํฌํธ ์ฝํ ์ด๋ $์ปจํ ์ด๋ํฌํธ
--pid=์ฃผ์ธ
์ปจํ ์ด๋์ PID ๋ชจ๋ ์ค์
์ฃผ์ธ: ์ปจํ ์ด๋ ๋ด๋ถ์์ ํธ์คํธ์ PID ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ : ํธ์คํธ ๋ชจ๋๋ ์ปจํ ์ด๋์ ๋ก์ปฌ PID์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ฏ๋ก
์์ ํ์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
--uts=์ฃผ์ธ
์ปจํ ์ด๋์ UTS ๋ชจ๋ ์ค์
์ฃผ์ธ: ์ปจํ ์ด๋ ๋ด๋ถ์์ ํธ์คํธ์ UTS ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ : ํธ์คํธ ๋ชจ๋๋ ์ปจํ ์ด๋์ ํธ์คํธ์ ํธ์คํธ ์ด๋ฆ์ ๋ณ๊ฒฝํ ์ ์๋ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ฉฐ
๋ฐ๋ผ์ ์์ ํ์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
--ํน๊ถ=์ฐธ๋|๊ทธ๋ฆ๋
์ด ์ปจํ ์ด๋์ ํ์ฅ๋ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋ฆ๋.
๊ธฐ๋ณธ์ ์ผ๋ก Docker ์ปจํ ์ด๋๋ "๊ถํ ์์"(=false)์ด๋ฉฐ ์๋ฅผ ๋ค์ด ๋ค์์ ์คํํ ์ ์์ต๋๋ค.
Docker ์ปจํ ์ด๋ ๋ด๋ถ์ Docker ๋ฐ๋ชฌ์ ๋๋ค. ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปจํ ์ด๋๊ฐ
๋ชจ๋ ์ฅ์น์ ์ก์ธ์คํ ์ ์์ต๋๋ค. "ํน๊ถ" ์ปจํ ์ด๋์๋ ๋ชจ๋ ์ฅ์น์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค.
์ฐ์ฐ์๊ฐ ์คํ๋ ๋ ๋์ปค ์ด์ --ํน๊ถ, Docker๋ ๋ชจ๋
์ปจํ ์ด๋๋ฅผ ํ์ฉํ๋๋ก AppArmor์์ ์ผ๋ถ ๊ตฌ์ฑ์ ์ค์ ํฉ๋๋ค.
์ปจํ ์ด๋ ์ธ๋ถ์์ ์คํ๋๋ ํ๋ก์ธ์ค์ ๊ฑฐ์ ๋์ผํ ํธ์คํธ ์ก์ธ์ค
์์ฃผ.
--์ฝ๊ธฐ ์ ์ฉ=์ฐธ๋|๊ทธ๋ฆ๋
์ปจํ ์ด๋์ ๋ฃจํธ ํ์ผ ์์คํ ์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ปจํ ์ด๋๋ ํ๋ก์ธ์ค๊ฐ ์ฐ๊ธฐ๋ฅผ ํ์ฉํ๋ ์ฐ๊ธฐ ๊ฐ๋ฅํ ๋ฃจํธ ํ์ผ ์์คํ ์ ๊ฐ์ต๋๋ค.
์ด๋์๋ ํ์ผ. ์ง์ ํ์ฌ --์ฝ๊ธฐ ์ ์ฉ ํ๋๊ทธ ์ปจํ ์ด๋๋ ๋ฃจํธ๋ฅผ ๊ฐ์ต๋๋ค.
๋ชจ๋ ์ฐ๊ธฐ๋ฅผ ๊ธ์งํ๋ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธ๋ ํ์ผ ์์คํ .
--์ฌ์์="์๋"
์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋ ๋ ์ ์ฉํ ์ฌ์์ ์ ์ฑ (no, on-failure[:max-retry], ํญ์,
๋ฉ์ถ์ง ์๋ ํ).
--NS=์ฐธ๋|๊ทธ๋ฆ๋
์ข ๋ฃ ์ ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ์ ๊ฑฐํฉ๋๋ค(-d์ ํธํ๋์ง ์์). ๊ธฐ๋ณธ๊ฐ์
๊ทธ๋ฆ๋.
--๋ณด์ ์ต์ =[]
๋ณด์ ์ต์
"label:user:USER" : ์ปจํ ์ด๋์ ๋ ์ด๋ธ ์ฌ์ฉ์๋ฅผ ์ค์ ํฉ๋๋ค.
"label:role:ROLE" : ์ปจํ ์ด๋์ ๋ ์ด๋ธ ์ญํ ์ ์ค์ ํฉ๋๋ค.
"label:type:TYPE" : ์ปจํ ์ด๋์ ๋ผ๋ฒจ ์ ํ์ ์ค์ ํฉ๋๋ค.
"label:level:LEVEL" : ์ปจํ ์ด๋์ ๋ ์ด๋ธ ์์ค์ ์ค์ ํฉ๋๋ค.
"label:disable" : ์ปจํ ์ด๋์ ๋ํ ๋ ์ด๋ธ ์ ํ์ ๋๋๋ค.
--์ ์ง ์ ํธ=์๊ทธํ
์ปจํ ์ด๋๋ฅผ ์ค์งํ๋ผ๋ ์ ํธ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ SIGTERM์ ๋๋ค.
--shm-ํฌ๊ธฐ= ""
ํฌ๊ธฐ /dev/shm. ํ์์ .
๋ฒํธ ๋ณด๋ค ์ปค์ผํฉ๋๋ค 0. ๋จ์๋ ์ ํ ์ฌํญ์ด๋ฉฐ b (๋ฐ์ดํธ), k (ํฌ๋ก๋ฐ์ดํธ),
m(๋ฉ๊ฐ๋ฐ์ดํธ) ๋๋ g (๊ธฐ๊ฐ๋ฐ์ดํธ).
๋จ์๋ฅผ ์๋ตํ๋ฉด ์์คํ ์์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํฌ๊ธฐ๋ฅผ ์์ ํ ์๋ตํ๋ฉด ์์คํ ์์
์ฌ์ฉ 64m.
--sig ํ๋ก์=์ฐธ๋|๊ทธ๋ฆ๋
ํ๋ก์๋ ํ๋ก์ธ์ค์ ๋ํ ์ ํธ๋ฅผ ์์ ํ์ต๋๋ค(TTY ๋ชจ๋๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ํด๋น). SIGCHLD, SIGSTOP ๋ฐ
SIGKILL์ ํ๋ก์๋์ง ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ฐธ๋.
--๋ฉ๋ชจ๋ฆฌ ๊ตํ= ""
์ปจํ ์ด๋์ ๋ฉ๋ชจ๋ฆฌ ๊ตํ ๋์์ ์กฐ์ ํฉ๋๋ค. 0์์ 100 ์ฌ์ด์ ์ ์๋ฅผ ํ์ฉํฉ๋๋ค.
-t, --ํฐ=์ฐธ๋|๊ทธ๋ฆ๋
์์ฌ TTY๋ฅผ ํ ๋นํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋ฆ๋.
true๋ก ์ค์ ํ๋ฉด Docker๋ pseudo-tty๋ฅผ ํ ๋นํ๊ณ ๋ชจ๋ ํ์ค ์ ๋ ฅ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ปจํ ์ด๋. ์๋ฅผ ๋ค์ด ์ผํ์ฉ ๋ํํ ์ ธ์ ์คํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ์ ๊ฑฐ์ง์ ๋๋ค.
XNUMXD๋ดํ์ -t ์ต์ ์ ๋์ปค ํด๋ผ์ด์ธํธ ํ์ค ์ ๋ ฅ์ ๋ฆฌ๋๋ ์ ๊ณผ ํธํ๋์ง ์์ต๋๋ค.
--tmpfs=[] tmpfs ๋ง์ดํธ ์์ฑ
์์ ํ์ผ ์์คํ ๋ง์ดํธ(tmpfs) ์ปจํ ์ด๋์ ๋ง์ดํธํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$ ๋์ปค ์คํ -d --tmpfs / TMP:rw,ํฌ๊ธฐ=787448k,๋ชจ๋=1777 my_image
์ด ๋ช ๋ น์ tmpfs at / TMP ์ปจํ ์ด๋ ๋ด. ์ง์๋๋ ๋ง์ดํธ ์ต์ ์
Linux ๊ธฐ๋ณธ๊ฐ๊ณผ ๋์ผ ๋ง์ดํธ ํ๋๊ทธ. ์ต์ ์ ์ง์ ํ์ง ์์ผ๋ฉด ์์คํ ์ด
๋ค์ ์ต์ ์ ์ฌ์ฉํฉ๋๋ค. rw,noexec,nosuid,nodev,ํฌ๊ธฐ=65536k.
-u, --์ฌ์ฉ์= ""
์ฌ์ฉ๋ ์ฌ์ฉ์ ์ด๋ฆ ๋๋ UID๋ฅผ ์ค์ ํ๊ณ ์ ํ์ ์ผ๋ก ์ง์ ๋ ๊ทธ๋ฃน ์ด๋ฆ ๋๋ GID๋ฅผ ์ค์ ํฉ๋๋ค.
๋ช ๋ น.
๋ค์ ์๋ ๋ชจ๋ ์ ํจํฉ๋๋ค.
--user [์ฌ์ฉ์ | ์ฌ์ฉ์:๊ทธ๋ฃน | ์์ด๋ | uid:gid | ์ฌ์ฉ์:gid | uid:๊ทธ๋ฃน ]
์ด ์ธ์๊ฐ ์์ผ๋ฉด ๋ช ๋ น์ด ์ปจํ ์ด๋์์ ๋ฃจํธ๋ก ์คํ๋ฉ๋๋ค.
--ulimit=[]
Ulimit ์ต์
-v|--์ฉ๋[=[[ํธ์คํธ ๋๋ ํฐ๋ฆฌ:]์ปจํ ์ด๋ ๋๋ ํฐ๋ฆฌ[:์ต์ ]]]
๋ฐ์ธ๋ ๋ง์ดํธ๋ฅผ ๋ง๋ญ๋๋ค. ์ง์ ํ๋ฉด, -v /ํธ์คํธ ๋๋ ํฐ๋ฆฌ:/์ปจํ ์ด๋ ๋๋ ํฐ๋ฆฌ, ๋์ปค
๋ฐ์ธ๋ ๋ง์ดํธ /ํธ์คํธ-๋๋ ํ ๋ฆฌ ํธ์คํธ์์ /์ปจํ ์ด๋-๋๋ ํ ๋ฆฌ ๋์ปค์์
์ปจํ ์ด๋. 'HOST-DIR'์ด ์๋ต๋๋ฉด Docker๋ ์๋์ผ๋ก ์
ํธ์คํธ์ ๋ณผ๋ฅจ. NS ์ต์ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค.
ยท [rw|ro]
ยท [์ง|์ง]
ยท [[r]๊ณต์ |[r]๋ ธ์|[r]๋น๊ณต๊ฐ]
XNUMXD๋ดํ์ ์ปจํ ์ด๋ ๋๋ ํ ๋ฆฌ ๋ค์๊ณผ ๊ฐ์ ์ ๋ ๊ฒฝ๋ก์ฌ์ผ ํฉ๋๋ค. /src/๋ฌธ์. ๊ทธ๋งํผ ํธ์คํธ ๋๋ ํฐ๋ฆฌ ๋ ์ ์์ต๋๋ค
์ ๋ ๊ฒฝ๋ก ๋๋ name ๊ฐ. NS name ๊ฐ์ ์์ซ์๋ก ์์ํด์ผ ํ๋ฉฐ,
๋ค์ a-z0-9, _ (๋ฐ์ค), . (๋ง์นจํ) ๋๋ - (ํ์ดํ). ์ ๋ ๊ฒฝ๋ก๋ ๋ค์์ผ๋ก ์์ํฉ๋๋ค.
a / (์ฌ๋์).
๋น์ ์ด ์ ๊ณตํ๋ ๊ฒฝ์ฐ ํธ์คํธ ๋๋ ํฐ๋ฆฌ ๊ทธ๊ฒ์ ์ ๋ ๊ฒฝ๋ก์ด๋ฉฐ Docker๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ ๊ฒฝ๋ก์ ๋ฐ์ธ๋ ๋ง์ดํธํฉ๋๋ค.
์ง์ ํฉ๋๋ค. ๋น์ ์ด ์ ๊ณตํ๋ ๊ฒฝ์ฐ name, Docker๋ ์ด๋ฅผ ํตํด ๋ช ๋ช ๋ ๋ณผ๋ฅจ์ ์์ฑํฉ๋๋ค. name. ์๋ฅผ ๋ค์ด,
๋ ์ค ํ๋๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. / foo or ํธ A์ ๋ํ ํธ์คํธ ๋๋ ํฐ๋ฆฌ ๊ฐ. ๊ณต๊ธํ๋ ๊ฒฝ์ฐ / foo ๊ฐ์น
Docker๋ ๋ฐ์ธ๋ ๋ง์ดํธ๋ฅผ ์์ฑํฉ๋๋ค. ๊ณต๊ธํ๋ ๊ฒฝ์ฐ ํธ ์ฌ์, Docker๋ ๋ช ๋ช ๋
์๋.
์ฌ๋ฌ ๊ฐ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. -v ์ปจํ ์ด๋์ ํ๋ ์ด์์ ๋ง์ดํธ๋ฅผ ๋ง์ดํธํ๋ ์ต์ . ์ฌ์ฉ
๋ค๋ฅธ ์ปจํ ์ด๋์ ์ด๋ฌํ ๋์ผํ ๋ง์ดํธ๋ฅผ ์ง์ ํ๋ ค๋ฉด --๋ณผ๋ฅจ-์์ ์ต์ ๋.
๋น์ ์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค :๋ก or :rw ๋ณผ๋ฅจ์ ์ ๋ฏธ์ฌ๋ฅผ ๋ถ์ฌ ์ฝ๊ธฐ ์ ์ฉ ๋๋ ์ฝ๊ธฐ-์ฐ๊ธฐ ๋ชจ๋๋ก ๋ง์ดํธํฉ๋๋ค.
๊ฐ๊ธฐ. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณผ๋ฅจ์ ์ฝ๊ธฐ-์ฐ๊ธฐ๋ก ๋ง์ดํธ๋ฉ๋๋ค. ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
SELinux์ ๊ฐ์ ๋ ์ด๋ธ ์ง์ ์์คํ ์์๋ ๋ณผ๋ฅจ ์ฝํ ์ธ ์ ์ ์ ํ ๋ ์ด๋ธ์ ๋ฐฐ์นํด์ผ ํฉ๋๋ค.
์ปจํ ์ด๋์ ์ฅ์ฐฉ. ๋ ์ด๋ธ์ด ์์ผ๋ฉด ๋ณด์ ์์คํ ์ด ํ๋ก์ธ์ค๋ฅผ ๋ฐฉํดํ ์ ์์ต๋๋ค.
์ฝํ ์ธ ๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋๋ก ์ปจํ ์ด๋ ๋ด๋ถ์์ ์คํ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Docker๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
OS์์ ์ค์ ํ ๋ ์ด๋ธ.
์ปจํ ์ด๋ ์ปจํ ์คํธ์์ ๋ ์ด๋ธ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ ๊ฐ์ ์ ๋ฏธ์ฌ ์ค ํ๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. :z or :Z ์
๋ณผ๋ฅจ ๋ง์ดํธ. ์ด๋ฌํ ์ ๋ฏธ์ฌ๋ Docker์ ๊ณต์ ๋ ํ์ผ ๊ฐ์ฒด์ ๋ ์ด๋ธ์ ๋ค์ ์ง์ ํ๋๋ก ์ง์ํฉ๋๋ค.
๋ณผ๋ฅจ. NS z ์ต์ ์ ๋ ๊ฐ์ ์ปจํ ์ด๋๊ฐ ๋ณผ๋ฅจ ์ฝํ ์ธ ๋ฅผ ๊ณต์ ํ๋ค๊ณ Docker์ ์๋ ค์ค๋๋ค. ๋ก
๊ฒฐ๊ณผ์ ์ผ๋ก Docker๋ ๊ณต์ ์ฝํ ์ธ ๋ ์ด๋ธ๋ก ์ฝํ ์ธ ์ ๋ ์ด๋ธ์ ์ง์ ํฉ๋๋ค. ๊ณต์ ๋ณผ๋ฅจ ๋ ์ด๋ธ ํ์ฉ
์ฝํ ์ธ ๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋ชจ๋ ์ปจํ ์ด๋. NS Z ์ต์ ์ Docker๊ฐ ์ฝํ ์ธ ์ ๋ ์ด๋ธ์ ์ง์ ํ๋๋ก ์ง์ํฉ๋๋ค.
๋น๊ณต๊ฐ ๋น๊ณต์ ๋ ์ด๋ธ. ํ์ฌ ์ปจํ ์ด๋๋ง ํ๋ผ์ด๋น ๋ณผ๋ฅจ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ธ๋ ํ์ฌ ๋ณผ๋ฅจ์ ์ฌ์ค. ์ด๋ ์ปจํ ์ด๋ ๋ด๋ถ์์ ์ํ๋๋ ๋ชจ๋ ๋ง์ดํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
ํธ์คํธ์ ํ์๋์ง ์์ผ๋ฉฐ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ค์์ ์ง์ ํ์ฌ ์ด ๋์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋ณผ๋ฅจ ๋ง์ดํธ ์ ํ ์์ฑ. ๋ณผ๋ฅจ ๋ง๋ค๊ธฐ ๊ณต์ ํด๋น ๋ณผ๋ฅจ์์ ์ํ๋ ๋ง์ดํธ
๋ด๋ถ ์ปจํ ์ด๋๋ ํธ์คํธ์์ ๋ณผ ์ ์์ผ๋ฉฐ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ณผ๋ฅจ ๋ง๋ค๊ธฐ ๋ ธ์ ์
๋จ๋ฐฉํฅ ๋ง์ดํธ ์ ํ ๋ฐ ํด๋น ๋ณผ๋ฅจ ์๋์ ํธ์คํธ์์ ์ํ๋๋ ๋ง์ดํธ๋
์ปจํ ์ด๋ ๋ด๋ถ์์ ๋ณผ ์ ์์ง๋ง ๊ทธ ๋ฐ๋๋ ์๋๋๋ค.
๋ณผ๋ฅจ์ ๋ง์ดํธ ์ ํ ์์ฑ์ ์ ์ดํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. :[r]๊ณต์ , :[r]์ฌ๋ ์ด๋ธ or
:[r]๋น๊ณต๊ฐ ์ ํ ํ๋๊ทธ. ๋ฐ์ธ๋ ๋ง์ดํธ์ ๋ํด์๋ง ์ ํ ์์ฑ์ ์ง์ ํ ์ ์์ต๋๋ค.
๋ณผ๋ฅจ์ด ์๋ ๋ด๋ถ ๋ณผ๋ฅจ์ด๋ ๋ช ๋ช ๋ ๋ณผ๋ฅจ์ด ์๋๋๋ค. ๋ง์ดํธ ์ ํ๊ฐ ์๋ํ๋ ค๋ฉด
์์ค ๋ง์ดํธ ํฌ์ธํธ(์์ค ๋๋ ํ ๋ฆฌ๊ฐ ๋ง์ดํธ๋ ๋ง์ดํธ ํฌ์ธํธ)๋ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
์ ํ ์์ฑ. ๊ณต์ ๋ณผ๋ฅจ์ ๊ฒฝ์ฐ ์์ค ๋ง์ดํธ ์ง์ ์ ๊ณต์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ
์ฌ๋ ์ด๋ธ ๋ณผ๋ฅจ, ์์ค ๋ง์ดํธ๋ ๊ณต์ ๋๋ ์ฌ๋ ์ด๋ธ์ฌ์ผ ํฉ๋๋ค.
df ์์ค ๋ง์ดํธ๋ฅผ ํ์ ํ ๋ค์ ์ฌ์ฉ ์ฐพ๊ธฐ -o
๋์,์ ํ ์์ค์ ์ ํ ํน์ฑ์ ํ์ ํ๊ธฐ ์ํด
์ฐ. ๋ง์ฝ์ ์ฐพ๊ธฐ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉด ์์ค์ ๋ํ ๋ง์ดํธ ํญ๋ชฉ์ ๋ณผ ์ ์์ต๋๋ค.
๋ง์ดํธ ํฌ์ธํธ /proc/self/๋ง์ดํธ์ ๋ณด. ๋ณด๋ค ์ ํ ๋ถ์ผ ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ ์ ์ด ์๋์ง ํ์ธํ์ญ์์ค
์์ฑ์ด ์ง์ ๋ฉ๋๋ค. ๊ณต์ :X ๋ง์ดํธ๋ ๊ณต์ , ๋ง์คํฐ:X ๋ง์ดํธ๋ ๋ ธ์
์๋ฌด ๊ฒ๋ ์์ผ๋ฉด ๋ง์ดํธ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค. ์ฌ์ค.
๋ง์ดํธ ํฌ์ธํธ์ ์ ํ ์์ฑ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค. ๋ง์ดํธ ๋ช ๋ น. ์๋ฅผ ๋ค์ด ํ๋์ ๊ฒฝ์ฐ
๋ง์ดํธ ์์ค ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฐ์ธ๋ฉํ๋ ค๊ณ ํฉ๋๋ค. / foo ํ๋๋ ํ ์ ์์ต๋๋ค ๋ง์ดํธ --๋ฌถ๋ค / foo / foo ๊ณผ ๋ง์ดํธ
--๋น๊ณต๊ฐ๋ก ์ค์ --make-๊ณต์ / foo. ์ด๊ฒ์ /foo๋ฅผ ๊ณต์ ๋ง์ดํธ ์ง์ .
๋๋ ์์ค ๋ง์ดํธ์ ์ ํ ์์ฑ์ ์ง์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋งํ๋ค / is
์์ค ๋ง์ดํธ / foo์ ์ฌ์ฉํ ๋ค์ ๋ง์ดํธ --make-๊ณต์ / ๋ณํํ๋ค / ์ ๊ณต์ ์ฐ.
์ฃผ์ ์ฌํญ: systemd๋ฅผ ์ฌ์ฉํ์ฌ Docker ๋ฐ๋ชฌ์ ์์ ๋ฐ ์ค์ง๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ
systemd ๋จ์ ํ์ผ์๋ Docker์ ๋ํ ๋ง์ดํธ ์ ํ๋ฅผ ์ ์ดํ๋ โโ์ต์ ์ด ์์ต๋๋ค.
๋ฐ๋ชฌ ์์ฒด, ํธ์ถ ๋ง์ดํธ ํ๋๊ทธ. ์ด ์ค์ ์ ๊ฐ์ผ๋ก ์ธํด Docker๊ฐ ์คํ๋์ง ์์ ์ ์์ต๋๋ค.
๋ง์ดํธ ์ง์ ์์ ์ํ๋ ๋ง์ดํธ ์ ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ฐธ์กฐํ์ญ์์ค. ์๋ฅผ ๋ค์ด ์ด ๊ฐ์ด
is ๋ ธ์, ์ฌ์ฉํ์ง ๋ชปํ ์ ์์ต๋๋ค. ๊ณต์ or ๊ณต์ ๋จ ๋ณผ๋ฅจ์ ๋ํ ์ ํ.
--๋ณผ๋ฅจ ๋๋ผ์ด๋ฒ= ""
์ปจํ ์ด๋์ ๋ณผ๋ฅจ ๋๋ผ์ด๋ฒ. ์ด ๋๋ผ์ด๋ฒ๋ ๋ค์ ์ค ํ๋์์ ์ง์ ๋ ๋ณผ๋ฅจ์ ์์ฑํฉ๋๋ค.
Dockerfile์ VOLUME ์ง์ ๋๋ ๋์ปค ์ด์ -v ๊น๋ฐ.
๋ง๋๋ค ๋์ปค ๋ณผ๋ฅจ ์์ฑ(1) ์์ธํ ์ฌํญ.
--๋ณผ๋ฅจ-์์=[]
์ง์ ๋ ์ปจํ ์ด๋์์ ๋ณผ๋ฅจ ๋ง์ดํธ
์์ค ์ปจํ ์ด๋์์ ์ด๋ฏธ ๋ง์ดํธ๋ ๋ณผ๋ฅจ์ ๋ค๋ฅธ ์ปจํ ์ด๋์ ๋ง์ดํธ
์ปจํ ์ด๋. ์์ค์ ์ปจํ ์ด๋ ID๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค. ๊ณต์ ํ๋ ค๋ฉด
๋ณผ๋ฅจ, ์ฌ์ฉ --๋ณผ๋ฅจ-์์ ์คํํ ๋ ์ต์
๋์ ์ปจํ ์ด๋. ์์ค ์ปจํ ์ด๋๊ฐ ์์ด๋ ๋ณผ๋ฅจ์ ๊ณต์ ํ ์ ์์ต๋๋ค.
์คํ๋๊ณ ์์ง ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Docker๋ ๋์ผํ ๋ชจ๋(์ฝ๊ธฐ-์ฐ๊ธฐ ๋๋
์ฝ๊ธฐ ์ ์ฉ) ์์ค ์ปจํ ์ด๋์ ๋ง์ดํธ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ํ์ ์ผ๋ก, ๋น์ ์
์ปจํ ์ด๋ ID์ :๋ก or
:rw ์์ด.
์๋ณธ ์ปจํ ์ด๋์ ๋ณผ๋ฅจ ์์น๊ฐ ๊ฒน์น๋ ๊ฒฝ์ฐ
๋ฐ์ดํฐ๊ฐ ๋์ ์ปจํ ์ด๋์ ์์ผ๋ฉด ๋ณผ๋ฅจ์ด ์จ๊ฒจ์ง๋๋ค.
๋์์ ๋ํ ํด๋น ๋ฐ์ดํฐ.
-w, --workdir= ""
์ปจํ ์ด๋ ๋ด๋ถ์ ์์ ๋๋ ํ ๋ฆฌ
์ปจํ ์ด๋ ๋ด์์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์์ ๋๋ ํ ๋ฆฌ๋ ๋ฃจํธ์ ๋๋ค.
๋๋ ํ ๋ฆฌ(/). ๊ฐ๋ฐ์๋ Dockerfile WORKDIR์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค.
์ง์นจ. ์ด์์๋ ๋ค์์ ์ฌ์ฉํ์ฌ ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ์ ์ํ ์ ์์ต๋๋ค. -w ์ต์ ์ ์ ํํฉ๋๋ค.
์ถ๊ตฌ Status
์ ์ข ๋ฃ ์ฝ๋ ๋์ปค ์ด์ ์ปจํ ์ด๋ ์คํ์ ์คํจํ ์ด์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ฑฐ๋
๋์จ ์ด์ . ์ธ์ ๋์ปค ์ด์ XNUMX์ด ์๋ ์ฝ๋๋ก ์ข ๋ฃํ๋ฉด ์ข ๋ฃ ์ฝ๋๋ ๋ค์์ ๋ฐ๋ฆ ๋๋ค.
chroot ํ์ค, ์๋ ์ฐธ์กฐ:
125 if ์ ์, ์ค๋ฅ is ๊ณผ ๋์ปค ์ ๋ง ๊ทธ ์์ฒด
$ docker ์คํ --foo busybox; ์์ฝ $?
# ํ๋๊ทธ๊ฐ ์ ๊ณต๋์์ง๋ง ์ ์๋์ง ์์: --foo
'docker run --help'๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
125
126 if ์ ์, ํฌํจ ๋ช ๋ น be ํธ์ถ
$ docker๋ busybox๋ฅผ ์คํํฉ๋๋ค. / ๊ธฐํ; ์์ฝ $?
# ์์: "/ ๊ธฐํ": ๊ถํ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค.
docker: ๋ฐ๋ชฌ์ ์ค๋ฅ ์๋ต: ํฌํจ๋ ๋ช ๋ น์ ํธ์ถํ ์ ์์ต๋๋ค.
126
127 if ์ ์, ํฌํจ ๋ช ๋ น be ๋ฐ๊ฒฌ
$ docker ์คํ busybox foo; ์์ฝ $?
# exec: "foo": $PATH์์ ์คํ ํ์ผ์ ์ฐพ์ ์ ์์
docker: ๋ฐ๋ชฌ์ ์ค๋ฅ ์๋ต: ํฌํจ๋ ๋ช ๋ น์ ์ฐพ์ ์ ์๊ฑฐ๋ ์กด์ฌํ์ง ์์ต๋๋ค.
127
์ถ๊ตฌ ์ํธ of ํฌํจ ๋ช ๋ น ๊ทธ๋ ์ง ์์ผ๋ฉด
$ docker๋ busybox๋ฅผ ์คํํฉ๋๋ค. / ๋น / SH -c '์ถ๊ตฌ 3'
# 3
์ฌ์ฉ ์
๋ฌ๋ฆฌ๋ ์ปจํ ์ด๋ in ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋
์ปจํ ์ด๋ ์ด๋ฏธ์ง ๊ฐ๋ฐ ์ค์ ์ปจํ ์ด๋๋ ์ข ์ข ์ด๋ฏธ์ง ์ฝํ ์ธ ์ ์จ์ผ ํฉ๋๋ค.
ํจํค์ง ์ค์น / usr, ์๋ฅผ ๋ค์ด. ํ๋ก๋์ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฑฐ์ ํ์ํ์ง ์์ต๋๋ค.
์ด๋ฏธ์ง์ ์๋๋ค. ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ์ผ์ ๊ธฐ๋กํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ณผ๋ฅจ์ ๊ธฐ๋ก
์ ํ ์์คํ . ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋๋ก ์คํํ์ฌ ๋ณด์์ ๊ฐํํ ์ ์์ต๋๋ค.
--read-only ์ค์์น๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๊ฐ ์์ ๋์ง ์๋๋ก ๋ณดํธํฉ๋๋ค. ์ฝ๋ค
์ปจํ ์ด๋๋ง ์ฌ์ ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํด์ผ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
tmpfs ๋๋ ํ ๋ฆฌ ๋ง์ดํธ / ์ด์ ๊ทธ๋ฆฌ๊ณ /tmp.
# ๋์ปค ์คํ --์ฝ๊ธฐ ์ ์ฉ --tmpfs / ์ด์ --tmpfs / TMP -i -t ํ๋๋ผ / bin / bash
๋ ธ์ถ ๊ธฐ๋ก ๋ฉ์์ง ์ ์ ์, ์ปจํ ์ด๋ ์ ์ ์, ํธ์คํธ์ ๊ธฐ๋ก
์ปจํ ์ด๋์ ๊ธฐ๋ก๋ ๋ฉ์์ง๋ฅผ ํธ์คํธ์
syslog/journal ๋ค์๊ณผ ๊ฐ์ด /dev/log ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฐ์ธ๋ ๋ง์ดํธํด์ผ ํฉ๋๋ค.
# docker run -v /dev/log:/dev/log -i -t fedora / bin / bash
์ปจํ ์ด๋ ๋ด๋ถ์์ ๋ก๊ทธ์ ๋ฉ์์ง๋ฅผ ์ ์กํ์ฌ ์ด๋ฅผ ํ ์คํธํ ์ ์์ต๋๋ค.
(bash)# ๋ก๊ฑฐ "๋ด ์ปจํ ์ด๋์์ ์๋ ํ์ธ์"
๊ทธ๋ฐ ๋ค์ ์ข ๋ฃํ๊ณ ์ ๋์ ํ์ธํ์ญ์์ค.
# ์ดํ
# journalctl -b | grep ์๋ ํ์ธ์
์ด๊ฒ์ ๋ก๊ฑฐ๋ก ์ ์ก๋ ๋ฉ์์ง๋ฅผ ๋์ดํด์ผ ํฉ๋๋ค.
์ฒจ๋ถ ์ ํ or ๋ฐฐ์ฐ๊ธฐ ์ ํ์ค, ํ์ค ์ถ๋ ฅ, STDERR
-a๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด Docker๋ ๋ชจ๋ ํญ๋ชฉ(stdin,stdout,stderr)์ ์ฒจ๋ถํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ๋์ ์ฐ๊ฒฐํ๊ณ ์ถ์ต๋๋ค.
# docker run -a stdin -a stdout -i -t ํ๋๋ผ / bin / bash
๊ณต์ IPC ์ฌ์ด์ ์ฉ๊ธฐ
shm_server.c ์ฌ์ฉ: โจhttps://www.cs.cf.ac.uk/Dave/C/node27.htmlโฉ
์ง์ --ipc=ํธ์คํธ ๋ฐฉ๋ฒ:
ํธ์คํธ๋ 7๊ฐ์ pid๊ฐ ์ฒจ๋ถ๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ด๋ httpd์์ ๋ฐ์ํฉ๋๋ค.
$ sudo ipcs -m
------ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ --------
ํค shmid ์์ ์ ๊ถํ ๋ฐ์ดํธ nattch ์ํ
0x01128e25 0 ๋ฃจํธ 600 1000 7
์ด์ ์ผ๋ฐ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ฉด ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ํ์๋์ง ์์ต๋๋ค.
์ฃผ์ธ:
$ ๋์ปค ์คํ -it shm ipcs -m
------ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ --------
ํค shmid ์์ ์ ๊ถํ ๋ฐ์ดํธ nattch ์ํ
์๋ก์ด ์ปจํ ์ด๋๋ฅผ ์คํ --ipc=ํธ์คํธ ์ต์ ์ ์ ํํ๋ฉด ์ด์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๊ฐ ํ์๋ฉ๋๋ค.
ํธ์คํธ httpd์์:
$ docker run -it --ipc=ํธ์คํธ shm ipcs -m
------ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ --------
ํค shmid ์์ ์ ๊ถํ ๋ฐ์ดํธ nattch ์ํ
0x01128e25 0 ๋ฃจํธ 600 1000 7
์ง์ --ipc=์ปจํ ์ด๋:CONTAINERID ๋ฐฉ๋ฒ:
ํ๋ก๊ทธ๋จ์ผ๋ก ์ปจํ ์ด๋๋ฅผ ์์ํ์ฌ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๋ฅผ ์์ฑํฉ๋๋ค.
$ docker run -it shm bash
$ sudo shm/shm_server
$ sudo ipcs -m
------ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ --------
ํค shmid ์์ ์ ๊ถํ ๋ฐ์ดํธ nattch ์ํ
0x0000162e 0 ๋ฃจํธ 666 27 1
๋ ๋ฒ์งธ ์ปจํ ์ด๋ ๋ง๋ค๊ธฐ๋ ์ฒซ ๋ฒ์งธ ์ปจํ ์ด๋์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ์ง ์์ต๋๋ค.
$ ๋์ปค ์คํ shm ipcs -m
------ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ --------
ํค shmid ์์ ์ ๊ถํ ๋ฐ์ดํธ nattch ์ํ
์๋ก์ด --ipc=container:CONTAINERID ์ต์ ์ ์ฌ์ฉํ์ฌ ์ธ ๋ฒ์งธ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ฉด ์ด์
์ฒซ ๋ฒ์งธ์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ:
$ docker run -it --ipc=์ปจํ ์ด๋:ed735b2264ac shm ipcs -m
$ sudo ipcs -m
------ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ --------
ํค shmid ์์ ์ ๊ถํ ๋ฐ์ดํธ nattch ์ํ
0x0000162e 0 ๋ฃจํธ 666 27 1
์ฐ๊ฒฐ ์ฉ๊ธฐ
์ฃผ์ ์ฌํญ: ์ด ์น์ ์์๋ ๊ธฐ๋ณธ(๋ธ๋ฆฌ์ง)์์ ์ปจํ ์ด๋ ๊ฐ ์ฐ๊ฒฐ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
"๋ ๊ฑฐ์ ๋งํฌ"๋ผ๊ณ ๋ ํ๋ ๋คํธ์ํฌ. ์ฌ์ฉ --๋งํฌ ์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ์์ ์ฌ์ฉ
ํญ๋ชฉ์ ์ถ๊ฐํ์ง ์๋ DNS ๊ธฐ๋ฐ ๊ฒ์ ์ / etc / ํธ์คํธ, ์ค์ ํ์ง ์์
๊ฒ์์ ์ํ ํ๊ฒฝ ๋ณ์.
๋งํฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์ปจํ ์ด๋๊ฐ ์๋ก ํต์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด
Dockerfile์ด ํฌํธ 80์ ๋ ธ์ถํ ์ปจํ ์ด๋๋ ๋ค์๊ณผ ๊ฐ์ด ์คํํ๊ณ ์ด๋ฆ์ ์ง์ ํ ์ ์์ต๋๋ค.
# docker run --name=link-test -d -i -t fedora/httpd
์ด ๊ฒฝ์ฐ ๋ง์ปค๋ผ๊ณ ํ๋ ๋ ๋ฒ์งธ ์ปจํ ์ด๋๋ httpd ์ปจํ ์ด๋์ ํต์ ํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ํจ๊ป ์คํํ์ฌ ์ด๋ฆ์ด ์ง์ ๋ link-test --๋งํฌ= :
# docker run -t -i --link=link-test:lt --name=linker fedora / bin / bash
์ด์ ์ปจํ ์ด๋ ๋ง์ปค๋ ๋ณ์นญ lt๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋ ๋งํฌ ํ ์คํธ์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์คํ
ํ๊ฒฝ ๋ง์ปค ์ปจํ ์ด๋์ ๋ช ๋ น์ ํ๊ฒฝ ๋ณ์๊ฐ ํ์๋จ
LT(๋ณ์นญ) ์ปจํ ์คํธ(LT_)
# ํ๊ฒฝ
ํธ์คํธ ์ด๋ฆ=668231cb0978
์ฉ์ด=xterm
LT_PORT_80_TCP=tcp://172.17.0.3:80
LT_PORT_80_TCP_PORT=80
LT_PORT_80_TCP_PROTO=tcp
LT_PORT=tcp://172.17.0.3:80
๊ฒฝ๋ก=/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ํฐ ์์
ํจ์ค์๋=/
LT_NAME=/๋ง์ปค/lt
SHLVL=1
ํ=/
LT_PORT_80_TCP_ADDR=172.17.0.3
_=/usr/๋น/ํ๊ฒฝ
๋ ์ปจํ ์ด๋๋ฅผ ์ฐ๊ฒฐํ ๋ Docker๋ ์ปจํ ์ด๋์ ๋ ธ์ถ๋ ํฌํธ๋ฅผ ์ฌ์ฉํ์ฌ
๋ถ๋ชจ๊ฐ ์ก์ธ์คํ ์ ์๋ ๋ณด์ ํฐ๋.
์ปจํ ์ด๋๊ฐ ๊ธฐ๋ณธ ๋ธ๋ฆฌ์ง ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋์ด ์๊ณ ์ฐ๊ฒฐ ๋ค๋ฅธ๊ณผ
์ปจํ ์ด๋ ๋ค์ ์ปจํ ์ด๋์ ์ / etc / ํธ์คํธ ํ์ผ์ ์ฐ๊ฒฐ๋ ์ปจํ ์ด๋์
์ด๋ฆ์ ๋๋ค.
์ฃผ์ ์ฌํญ Docker๋ ์ปจํ ์ด๋์ ์ / etc / ํธ์คํธ ํ์ผ,์์ ์ ์์ต๋๋ค
์ปจํ ์ด๋ ๋ด๋ถ์ ํ๋ก์ธ์ค๊ฐ ๋น์ด ์๊ฑฐ๋
๋ถ์์ ํ ์ / etc / ํธ์คํธ ํ์ผ. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฝ๊ธฐ๋ฅผ ๋ค์ ์๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋งคํ ํฌํธ for ์ธ๋ถ ์ฉ๋ฒ
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ธ์ถ๋ ํฌํธ๋ ๋ค์์ ์ฌ์ฉํ์ฌ ํธ์คํธ ํฌํธ์ ๋งคํํ ์ ์์ต๋๋ค. -p ๊น๋ฐ. ์ ์ํ
์๋ฅผ ๋ค์ด ๋ค์์ ์ฌ์ฉํ์ฌ httpd ํฌํธ 80์ ํธ์คํธ ํฌํธ 8080์ ๋งคํํ ์ ์์ต๋๋ค.
# ๋์ปค ์คํ -p 8080:80 -d -i -t ํ๋๋ผ/httpd
๋ง๋ค๊ธฐ ๊ณผ ์ค์น a Data ์๋ ์ปจํ ์ด๋
๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ์ปจํ ์ด๋์์ ์๊ตฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํด์ผ ํฉ๋๋ค. ๋์ปค
๋ค๋ฅธ ์ปจํ ์ด๋๊ฐ ๋ง์ดํธํ ์ ์๋ ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ ์ด๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ ์ํ
์๋ฅผ ๋ค์ด /var/volume1 ๋ฐ /tmp/volume2 ๋๋ ํ ๋ฆฌ๋ฅผ ํฌํจํ๋ ๋ช ๋ช ๋ ์ปจํ ์ด๋๋ฅผ ๋ง๋ญ๋๋ค.
์ด๋ฏธ์ง๋ ์ด๋ฌํ ๋๋ ํ ๋ฆฌ๋ฅผ ํฌํจํด์ผ ํ๋ฏ๋ก ๋ช ๊ฐ์ง RUN mkdir ๋ช ๋ น์ด ํ์ํฉ๋๋ค.
fedora ๋ฐ์ดํฐ ์ด๋ฏธ์ง์ ํ์ํ ์ ์์ต๋๋ค.
# docker run --name=data -v /var/volume1 -v /tmp/volume2 -i -t fedora-data true
# docker run --volumes-from=data --name=fedora-container1 -i -t fedora bash
์ฌ๋ฌ --volumes-from ๋งค๊ฐ๋ณ์๋ ์ฌ๋ฌ ๋ฐ์ดํฐ ๋ณผ๋ฅจ์ ํจ๊ป ๊ฐ์ ธ์ต๋๋ค.
์ฉ๊ธฐ. ๊ทธ๋ฆฌ๊ณ DATA ์ปจํ ์ด๋์์ ๊ฐ์ ธ์จ ๋ณผ๋ฅจ์ ๋ค์ ์์น์ ๋ง์ดํธํ ์ ์์ต๋๋ค.
fedora-container1 ์ค๊ฐ ์ปจํ ์ด๋๋ฅผ ํตํ ๋ ๋ค๋ฅธ ์ปจํ ์ด๋,
ํด๋น ๋ฐ์ดํฐ์ ์ฌ์ฉ์๋ก๋ถํฐ ์ค์ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ถ์ํํฉ๋๋ค.
# docker run --volumes-from=fedora-container1 --name=fedora-container2 -i -t fedora bash
์ค์น ์ธ๋ถ ๋ณผ๋ฅจ
ํธ์คํธ ๋๋ ํ ๋ฆฌ๋ฅผ ์ปจํ ์ด๋ ๋ณผ๋ฅจ์ผ๋ก ๋ง์ดํธํ๋ ค๋ฉด
๋๋ ํ ๋ฆฌ์ ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ์ปจํ ์ด๋ ๋๋ ํ ๋ฆฌ์ ์ ๋ ๊ฒฝ๋ก:
# docker run -v /var/db:/data1 -i -t fedora bash
SELinux๋ฅผ ์ฌ์ฉํ ๋ ํธ์คํธ๋ ์ปจํ ์ด๋ SELinux ์ ์ฑ ์ ๋ํด ์์ง ๋ชปํฉ๋๋ค.
๋ฐ๋ผ์ ์์ ์์์ SELinux ์ ์ฑ ์ด ์ ์ฉ๋๋ฉด /var/db ๋๋ ํ ๋ฆฌ๋
์ปจํ ์ด๋์ ์ธ ์ ์์ต๋๋ค. "๊ถํ ๊ฑฐ๋ถ" ๋ฉ์์ง๊ฐ ๋ฐ์ํ๊ณ avc:
ํธ์คํธ์ syslog์ ์๋ ๋ฉ์์ง.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ด ๋งค๋ด์ผ ํ์ด์ง๋ฅผ ์์ฑํ ๋ ๋ค์ ๋ช ๋ น์ ์คํํด์ผ ํฉ๋๋ค.
์ ์ ํ SELinux ์ ์ฑ ์ ํ ๋ ์ด๋ธ์ด ํธ์คํธ์ ์ฐ๊ฒฐ๋๋๋ก ์คํ
์๋ฐฐ ๊ท์น์:
# chcon -Rt svirt_sandbox_file_t /var/db
์ด์ ์ปจํ ์ด๋์ /data1 ๋ณผ๋ฅจ์ ์ฐ๊ธฐ๊ฐ ํ์ฉ๋๊ณ ๋ณ๊ฒฝ ์ฌํญ์ด
/var/db์ ํธ์คํธ์๋ ๋ฐ์๋ฉ๋๋ค.
์ฌ์ฉ ๋์ ๋ณด์ ๋ ์ด๋ธ๋ง
๋ค์์ ์ง์ ํ์ฌ ๊ฐ ์ปจํ ์ด๋์ ๊ธฐ๋ณธ ๋ ์ด๋ธ ์ง์ ์ฒด๊ณ๋ฅผ ์ฌ์ ์ํ ์ ์์ต๋๋ค.
--๋ณด์ ์ต์ ๊น๋ฐ. ์๋ฅผ ๋ค์ด MLS์ ๋ํ ์๊ตฌ ์ฌํญ์ธ MCS/MLS ์์ค์ ์ง์ ํ ์ ์์ต๋๋ค.
์์คํ . ๋ค์ ๋ช ๋ น์์ ๋ ๋ฒจ์ ์ง์ ํ๋ฉด ๋์ผํ
์ปจํ ์ด๋ ์ฌ์ด์ ์ฝํ ์ธ .
# docker run --security-opt label:level:s0:c100,c200 -i -t fedora bash
MLS์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# docker run --security-opt label:level:TopSecret -i -t rhel7 bash
์ด ์ปจํ ์ด๋์ ๋ํ ๋ณด์ ๋ ์ด๋ธ ์ง์ ์ ๋นํ์ฑํํ๋ ค๋ฉด --ํ์ฉ
ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ญ์์ค.
# docker run --security-opt label:disable -i -t fedora bash
์ปจํ ์ด๋ ๋ด์ ํ๋ก์ธ์ค์ ๋ํด ๋ณด๋ค ์๊ฒฉํ ๋ณด์ ์ ์ฑ ์ ์ํ๋ ๊ฒฝ์ฐ ๋ค์์ ์ง์ ํ ์ ์์ต๋๋ค.
์ปจํ ์ด๋์ ๋์ฒด ์ ํ์ ๋๋ค. ๋ค์์๋ง ํ์ฉ๋๋ ์ปจํ ์ด๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๋ค์ ๋ช ๋ น์ ์คํํ์ฌ Apache ํฌํธ์์ ์์ ๋๊ธฐํฉ๋๋ค.
# docker run --security-opt label:type:svirt_apache_t -i -t centos bash
์ฐธ๊ณ :
๋ค์์ ์ ์ํ๋ ์ ์ฑ ์ ์์ฑํด์ผ ํฉ๋๋ค. svirt_apache_t ์ ํ.
ํ๊ฒฝ ์ฅ์น ๋ฌด๊ฒ
์ค์ ํ๊ณ ์ถ๋ค๋ฉด / ๊ฐ๋ฐ์ / SDA ์ฅ์น ๋ฌด๊ฒ 200, ๋น์ ์ ์ฅ์น ๋ฌด๊ฒ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค
--blkio-๋ฌด๊ฒ-์ฅ์น ๊น๋ฐ. ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํฉ๋๋ค.
# docker run -it --blkio-weight-device "/dev/sda:200" ์ฐ๋ถํฌ
์ง์ ๊ฒฉ๋ฆฌ technology for ์ปจํ ์ด๋ (--๊ฒฉ๋ฆฌ)
์ด ์ต์ ์ Microsoft์์ Docker ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ์ํฉ์์ ์ ์ฉํฉ๋๋ค.
์๋์ฐ. ๊ทธ๋งํผ --๊ฒฉ๋ฆฌ ์ต์ ์ ์ปจํ ์ด๋์ ๊ฒฉ๋ฆฌ ๊ธฐ์ ์ ์ค์ ํฉ๋๋ค. ๋ฆฌ๋ ์ค์์,
์ ์ผํ๊ฒ ์ง์๋๋ ๊ฒ์ ๋ํดํธ ๊ฐ Linux ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์ต์ ์ ๋๋ค. ์ด ๋ ๋ช ๋ น
Linux์์ ๋์ผํฉ๋๋ค.
$ docker run -d busybox ์๋จ
$ docker run -d --isolation ๊ธฐ๋ณธ busybox ์๋จ
Microsoft Windows์์๋ ๋ค์ ๊ฐ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ยท ๋ํดํธ ๊ฐ: Docker ๋ฐ๋ชฌ์์ ์ง์ ํ ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. --exec-opt . ๊ฒฝ์ฐ ์ ๋ง ํ์ง
๊ฒฉ๋ฆฌ ๊ธฐ์ ์ ์ง์ ํ์ง ์๊ณ Microsoft Windows๋ ๋ฐฉ๋ฒ ๊ธฐ๋ณธ๊ฐ์ผ๋ก
๊ฐ.
ยท ๋ฐฉ๋ฒ: ๋ค์์คํ์ด์ค ๊ฒฉ๋ฆฌ ์ ์ฉ์ ๋๋ค.
ยท ํ์ดํผ๋ธ: Hyper-V ํ์ดํผ๋ฐ์ด์ ํํฐ์ ๊ธฐ๋ฐ ๊ฒฉ๋ฆฌ.
์ค์ ๋ก Microsoft Windows์์ ์ ๋ง ์ต์ ์ธํธ, ์ด ๋ ๊ฐ์ง
๋ช ๋ น์ ๋์ผํฉ๋๋ค.
$ docker run -d --isolation ๊ธฐ๋ณธ busybox ์๋จ
$ docker run -d --isolation ํ๋ก์ธ์ค busybox top
๋ค์์ ์ค์ ํ ๊ฒฝ์ฐ --exec-opt ๊ฒฉ๋ฆฌ=hyperv Docker์ ์ต์ ์ ๋ง, ์ด๋ค ์ค
๋ช ๋ น์ ๋ํ ํ์ดํผ๋ธ ๊ฒฉ๋ฆฌ:
$ docker run -d --isolation ๊ธฐ๋ณธ busybox ์๋จ
$ docker run -d --isolation hyperv busybox top
์ฐํ
2014๋ XNUMX์, ์๋ William Henry(redhat dot com์ whenry)๊ฐ ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ํธ์งํ์ต๋๋ค.
docker.com ์์ค ์๋ฃ ๋ฐ ๋ด๋ถ ์์ . 2014๋ XNUMX์, Sven Dowideit์ ์ํด ์ ๋ฐ์ดํธ๋จ
โจ[์ด๋ฉ์ผ ๋ณดํธ]โฉ 2014๋ XNUMX์, Sven Dowideit ์ ๋ฐ์ดํธ โจ[์ด๋ฉ์ผ ๋ณดํธ]โฉ
2015๋ XNUMX์, Sally O'Malley๊ฐ ์ ๋ฐ์ดํธํจ โจ[์ด๋ฉ์ผ ๋ณดํธ]โฉ
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ docker-run ์จ๋ผ์ธ ์ฌ์ฉ