ํฐ์คํ ๋ฆฌ ๋ทฐ
Install & Run ๊ณผ์ ์์ ๋์ปค ์ปจํ ์ด๋๋ฅผ ์คํํ๊ธฐ ์ํ ์ ๋ฐ์ ์ธ ์ดํด๋ฅผ ํ ์ ์์๋ค. ์ด๋ ๋์ปค ์ปจํ ์ด๋๋ฅผ ์คํํ๊ธฐ ์ํ ๊ฐ์๋ฅผ ์ดํดํ ๊ฒ ๋ฟ์ด๋ค. ๋ฐ๋ผ์ ๋ณผ๋ฅจ, ๋คํธ์ํฌ, ์์ ํ ๋น์ ๊ฐ์ด ๋ฐ์ดํฐ ๋ณด์ฅ๊ณผ ๋คํธ์ํฌ ๊ตฌ์ฑ, ์์ ๊ด๋ฆฌ์ ๋ํด ์ดํดํ๋ค๋ฉด ํจ์จ์ ์ผ๋ก ์ปจํ ์ด๋๋ฅผ ํ์ฉํ ์ ์์ ๊ฒ์ด๋ค.๐
Volume
๋์ปค ์ด๋ฏธ์ง๋ฅผ ํตํด ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด, ๊ธฐ์กด์ ์ด๋ฏธ์ง๋ ์ฝ๊ธฐ ์ ์ฉ ์ํ์ด๋ฉฐ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ์ปจํ ์ด๋์ ๋ณ๋๋ ์ ๋ณด๋ง ๋ณ๋๋ก ์ ์ฅํ์ฌ ๊ฐ ์ปจํ ์ด๋ ์ ๋ณด๋ฅผ ์ ์งํ๋ค. ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๊ฒ ๋๋ฉด ์ปจํ ์ด๋ ์ ๋ณด๋ ์ญ์ ๋๊ฒ ๋๋ฉฐ, ๋ณต๊ตฌ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์กดํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ์์ด ๋์ปค ๋ณผ๋ฅจ์ด๋ค.
1. ํธ์คํธ ๋ณผ๋ฅจ ๊ณต์
docker run -v host_dir:container_dir
์ ๊ฐ์ด -v
์ต์
์ ํตํด ํธ์คํธ์ ํน์ ๋๋ ํ ๋ฆฌ์ ์ปจํ
์ด๋์ ํน์ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ณต์ ํ ์ ์๋ค. ๋ฐ๋ผ์ -v
์ต์
์ ํตํด ๊ณต์ ๋ ์ปจํ
์ด๋ ๋๋ ํ ๋ฆฌ๋ ํธ์คํธ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋๊ฒ ๋๋ฉฐ, ์ด๋ ํด๋น ์ปจํ
์ด๋๊ฐ ์ญ์ ๋๋๋ผ๋ ์ ๋ณด๋ฅผ ๋ณด์กดํ ์ ์๋๋ก ํ๋ค.
์ด๋ ํธ์คํธ์ ์์นํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ปจํ
์ด๋์ ๋ง์ดํธ ํ๊ฒ ๋จ์ผ๋ก์จ ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ๋์ผํ ์์น๋ฅผ ๋ค๋ฅธ ์ปจํ
์ด๋์์ -v
์ต์
์ ํตํด ์ง์ ํ๊ฒ ๋ ๊ฒฝ์ฐ, ํด๋น ์์น์ ์๋ ๋ฐ์ดํฐ๋ค์ ๋ฎ์ด์ฐ๊ธฐ๊ฐ ๋๋ฏ๋ก ์ฃผ์๊ฐ ํ์ํ๋ค.
2. ๋ณผ๋ฅจ ์ปจํ ์ด๋
-v
์ต์
์ ํตํด ์์ฑ๋ ์ปจํ
์ด๋, ์ฆ ํธ์คํธ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง์ดํธํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ์ปจํ
์ด๋๋ฅผ ๋ณผ๋ฅจ ์ปจํ
์ด๋์ ์ญํ ์ ์ํ ํ๊ธฐ๋ ํ๋ค. ์ด๋ ํธ์คํธ ๋ณผ๋ฅจ์ ๊ณต์ ํ๋ ๊ธฐ๋ฅ ์ด์ธ์ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ํํ์ง ์๋ ์ปจํ
์ด๋๋ฅผ ์๋ฏธํ๋ค.
docker run --volumes-from container_name
์ ๊ฐ์ด --volumes from
์ด๋ผ๋ ์ต์
์ ํตํด ๊ณต์ ๋ฐ์ ์ปจํ
์ด๋๋ฅผ ์ง์ ํ ์ ์๋ค.
3. ๋์ปค ๋ณผ๋ฅจ
์์ ๋ฐฉ์๋ค์ ํธ์คํธ์ ๋ณผ๋ฅจ์ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด์กด ํ ์ ์๋ค. ์ด ๋ฐฉ๋ฒ ์ธ์๋ ๋์ปค ์์ฒด์์ ์ ๊ณตํ๋ ๋ณผ๋ฅจ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณด์กดํ ์ ์๋ค.
๊ฐ. ๋์ปค ๋ณผ๋ฅจ ์์ฑ
$ docker volume create --name test
test
์์ ๊ฐ์ด docker volume create
๋ฅผ ํตํด ๋ณผ๋ฅจ์ ์์ฑ ํ ์ ์์ผ๋ฉฐ, ls
๋ฅผ ํตํด ์ด๋ฅผ ํ์ธํ ์ ์๋ค. ๊ธฐ์กด์ ํธ์คํธ ๋ณผ๋ฅจ์ ๊ณต์ ํ๋ ๋ฐฉ์์ ์ฐจ์ด์ ์ ๋ณผ๋ฅจ ๊ด๋ฆฌ๋ฅผ ๋์ปค์์ ํ๊ฒ ๋๋ฏ๋ก, ์ฌ์ฉ์๋ ๋ณผ๋ฅจ์ ์์น๊ฐ ํธ์คํธ ๋ด์ ์ด๋์ ์์นํ๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์๋, ๋ณผ๋ฅจ์ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
$ docker run -i -t --name volume_test \
-v test:/root/ \
ubuntu:16.04
์์ ๊ฐ์ด -v
์ต์
์ ํตํด docker volume:container_dir
์ ์ง์ ํ์ฌ root ๋๋ ํ ๋ฆฌ ํ์ ๋ด์ญ์ ๊ณต์ ํ๊ฒ ๋๋ฏ๋ก ํด๋น ๋ณผ๋ฅจ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ๊ณต์ ํ ์ ์๋ค.
$ docker run -i -t --name auto_test \
-v /root \
ubuntu:16.04
์์ ๊ฐ์ด ์ฌ์ฉํ ๋ณผ๋ฅจ ์ด๋ฆ์ ์ ๋ ฅํ์ง ์๋ ๋ค๋ฉด, ์๋์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ณผ๋ฅจ์ ์์ฑํ๊ฒ ๋๋ค.
๋. ๋์ปค ๋ณผ๋ฅจ ๋ชฉ๋ก ๋ฐ ์ ๋ณด ํ์ธ
$ docker volume ls
DRIVER VOLUME NAME
local test
docker volume ls
๋ฅผ ํตํด ํ์ฌ ์์ฑ๋ volume์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธ ํ ์ ์๋ค.
$ docker volume inspect test
[
{
"CreatedAt": "2020-07-14T00:04:30+09:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/test/_data",
"Name": "test",
"Options": {},
"Scope": "local"
}
]
์ค์ ์ ์ฅ๋ ์์น๋ฅผ ์๊ณ ์ถ๋ค๋ฉด docker volume inspect
๋ฅผ ํตํด ํ์ธ ๊ฐ๋ฅํ๋ค.
"Mounts": [
{
"Type": "volume",
"Name": "test",
"Source": "/var/lib/docker/volumes/test/_data",
"Destination": "/root",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
],
ํด๋น ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ์ปจํ
์ด๋๋ฅผ ํ์ธํ๊ธฐ ์ํด docker container inspect container_name
์ ํตํด ํ์ธ๊ฐ๋ฅํ๋ค. ์ด์ ๊ฐ์ด ๋์ปค๋ ๋ชจ๋ ๋ช
๋ น์ด์ container
, image
, volume
๊ณผ ๊ฐ์ด ๋ช
์ํ์ฌ ํน์ ๊ตฌ์ฑ ๋จ์๋ฅผ ์ ์ด ํ ์ ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
๋ค. ๋์ปค ๋ณผ๋ฅจ ์ญ์
$ docker volume rm test
test
์ปจํ
์ด๋๋ฅผ ์ญ์ ํ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก rm
์ ํตํด ์ญ์ ๊ฐ๋ฅํ๋ฉฐ prune
์ ํตํด ๋ชจ๋ ๋ณผ๋ฅจ์ ์ญ์ ํ ์ ๋ ์๋ค.
Network
์์ ์ปจํ
์ด๋๋ฅผ ์์ฑํ ๋ ๋์ปค ์ปจํ
์ด๋๋ฅผ ์ธ๋ถ์์ ์ ์ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ธ๋ฉ์ด ์๋ค๊ณ ๊ฐ๋ตํ๊ฒ ๋ค๋ฃจ์๋ค. ๋์ปค ์ปจํ
์ด๋ ๋ด์์ ๋คํธ์ํฌ ์ ๋ณด๋ฅผ ํ์ธํ๊ธฐ ์ํด์ ifconfig
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋คํธ์ํฌ ๊ตฌ์ฑ์ ๋ํด ํ์ธ ํ ์ ์๋ค.
๋ง์ฝ ifconfig
์ ๋ช
๋ น์ด๊ฐ ์คํ๋์ง ์๋๋ค๋ฉด apt-get update && apt-get install net-tools
๋ช
๋ น์ ํตํด net-tools
์ค์น๋ฅผ ์งํํ์ฌ์ผ ํ๋ค.
1. ๋์ปค ๋คํธ์ํฌ ๊ตฌ์กฐ
$ ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02
inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8618 errors:0 dropped:0 overruns:0 frame:0
TX packets:5832 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:17177039 (17.1 MB) TX bytes:319563 (319.5 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
์ฌ๊ธฐ์ eth0
๋ ์ปจํ
์ด๋์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ฉฐ, lo
๋ ํธ์คํธ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค.
$ ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:a9:72:37:e9
inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
inet6 addr: fe80::42:a9ff:fe72:37e9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6601 errors:0 dropped:0 overruns:0 frame:0
TX packets:9777 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:270068 (270.0 KB) TX bytes:19144139 (19.1 MB)
veth918a124 Link encap:Ethernet HWaddr 0e:5b:ee:e3:64:41
inet6 addr: fe80::c5b:eeff:fee3:6441/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5832 errors:0 dropped:0 overruns:0 frame:0
TX packets:8618 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:319563 (319.5 KB) TX bytes:17177039 (17.1 MB)
๋์ปค ์ปจํ
์ด๋ ์์ฑ ํ์ ํธ์คํธ์์ ifconfig
๋ฅผ ์
๋ ฅํ๋ฉด docker0
์ veth
๋คํธ์ํฌ ์ธํฐํ์ด์ค๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ฐ. veth ์ธํฐํ์ด์ค
ํธ์คํธ ์์ ์์ฑ๋ veth
๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ virtual ethernet์ ์๋ฏธํ๋ฉฐ, ํ๋์ veth๋ ์ปจํ
์ด๋์ eth0๋ก ์ฐ๊ฒฐ๋๋ค. ๋ฐ๋ผ์ veth
๋ ์ปจํ
์ด๋์ ์ ๋งํผ ํธ์คํธ OS์ ์์ฑ๋๊ฒ ๋๋ค.
๋. docker0 ์ธํฐํ์ด์ค
docker0
๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ ๋ชจ๋ veth๋ฅผ ํธ์คํธ์ eth์ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ๋ธ๋ฆฌ์ง ์ญํ ์ ํ๋ค. ์ฆ ์ปจํ
์ด๋์ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค ์ปจํ
์ด๋ eth → ํธ์คํธ vth → docker0 → ํธ์คํธ eth
๋ฅผ ํตํด ์ ๊ทผํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋ฐ์ธ๋ฉ์ ํตํด ์ธ๋ถ์์๋ ์ปจํ
์ด๋์ ์ ๊ทผ ํ ์ ์๋ค.
2. ๋์ปค ๋คํธ์ํฌ ๊ธฐ๋ฅ
๊ธฐ๋ณธ ๋์ปค์ ๋คํธ์ํฌ ๊ตฌ์กฐ์์ ์ฌ์ฉ์์ ์ค์ ์ ๋ฐ๋ผ, ๋ธ๋ฆฌ์ง, ํธ์คํธ๋ฅผ ๋ณ๊ฒฝํ์ฌ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ docker network
์ ๋ค์ํ ๋ช
๋ น์ด๋ฅผ ํตํด ๊ฐ๋ฅํ๋ค.
๊ฐ. ๋ธ๋ฆฌ์ง ๋คํธ์ํฌ
๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ธ๋ฆฌ์ง ๋คํธ์ํฌ๋ docker0
์ด์ง๋ง ์ฌ์ฉ์ ์ ์์ ๋ฐ๋ผ ๋ธ๋ฆฌ์ง ๋คํธ์ํฌ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
$ docker network create --driver bridge bridge_test
$ docker run -i -t --name bridget_container \
--net bridget_test \
ubuntu:16.04
$ docker network disconnect bidget_test bridget_container
$ docker network connect bidget_test bridget_container
์ฌ์ฉ์ ์ง์ ์ผ๋ก ์์ฑ๋ ๋คํธ์ํฌ ๋๋ผ์ด๋ฒ๋ connect
, disconnect
๋ฅผ ํตํด ๋คํธ์ํฌ๋ฅผ ์ฐ๊ฒฐํ๊ฑฐ๋ ๋์ ์ ์๋ค. ๋ณ๋์ ๋คํธ์ํฌ ๊ณต๊ฐ์ ํ ๋นํ๊ธฐ ๋ค์ํ ์ต์
์ ์ง์ ํ ์ ๋ ์๋ค.
๋. ํธ์คํธ ๋คํธ์ํฌ
$ docker run -i -t --name host_net_container \
--net host \
ubuntu:16.04
--net
์ต์
์ host
๋ผ๊ณ ๋ช
์ํ๊ฒ ๋๋ฉด, ํธ์คํธ์ ๋คํธ์ํฌ์ ๋์ผํ ํ๊ฒฝ์ ์ปจํ
์ด๋์ ์ฌ์ฉํ ์ ์๋ค. ๋ฐ๋ผ์ ์ปจํ
์ด๋์ ํธ์คํธ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ณ๋์ ๋ฐ์ธ๋ฉ ๊ณผ์ ํ์ ์์ด ํธ์คํธ ๋คํธ์ํฌ์ ์ ๊ทผํ๋ ๊ฒ ๋ง์ผ๋ก ์ปจํ
์ด๋์ ์ ๊ทผ ํ ์ ์๋ค.
๋ค. ๋ ผ ๋คํธ์ํฌ
$ docker run -i -t --name none_net_container \
--net none \
ubuntu:16.04
--net
์ต์
์ none
์ด๋ผ๊ณ ๋ช
์ํ๊ฒ ๋๋ฉด, ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ปจํ
์ด๋๋ฅผ ์์ฑํ ์ ์๋ค. ์ด๋ ์ธ๋ถ์์ ๋จ์ ์ ์๋ฏธํ๋ฉฐ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ ํธ์คํธ์์ ์ธํฐํ์ด์ค์ธ lo
๋ง ์กด์ฌํ๊ฒ ๋๋ค.
๋ผ. ์ปจํ ์ด๋ ๋คํธ์ํฌ
$ docker run -i -t --name test_container2 \
--net container:test_container2 \
ubuntu:16.04
--net
์ต์
์ container:container_name
์ ๋ช
์ํ๊ฒ ๋๋ฉด ํด๋น ์ปจํ
์ด๋์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๋์ผํ ์กฐ๊ฑด์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์์ฑํ๊ฒ ๋๋ค. ์ด์ ๊ฐ์ด ์์ฑ๋ ์ปจํ
์ด๋๋ค์ ๋์ผํ ์ปจํ
์ด๋ eth → ํธ์คํธ veth
๋ฅผ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
Resource Isolation
๋์ปค๋ ๊ฐ ์ปจํ
์ด๋์ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ์์คํ
์ ์์ ํ ๋น์ ์ ํ ํ ์ ์๋ค. docker run
์ ๋ช
๋ น์ด ๋ค์ ๊ด๋ จ๋ ์์คํ
์์์ ๋ํ ์ธ์๋ฅผ ํตํด ์ค์ ํ ์ ์๋ค. ์์คํ
์์ ํ ๋น์ ๋์ปค์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด ์๋ ๋ฆฌ๋
์ค ์ปค๋์ Cgroups๋ฅผ ํตํด ์ด๋ฃจ์ด ์ง๋ค.
1. ๋ฉ๋ชจ๋ฆฌ ์ ํ
$ docker run --memory "2g" --name test_container ubuntu:16.04
์ด์ ๊ฐ์ด ์ปจํ ์ด๋๊ฐ ์ฌ์ฉํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ํํ์ฌ ์์ฑํ ๊ฒฝ์ฐ์๋, ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋๊ฒ ๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ ๋ชฉ์ ์ ๋ง๊ฒ ์ ์ ํ๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ฌ์ผ ํ๋ค.
2. CPU ์ ํ
$ docker run --cpu-shares 1024 --name test1 ubnutn:16.04
$ docker run --cpu-shares 512 --name test2 ubnutn:16.04
๋ง์ฝ cpu์ ๋ถํ๊ฐ ์ฌํ ์์
์ ํ๋ 2๊ฐ์ ์ปจํ
์ด๋๊ฐ ์๊ณ , ์๋์ ์ผ๋ก ํ๋์ ์ปจํ
์ด๋์ ์์
์ด ์ฐ์ ์ ๋๋ค๋ฉด ์์ ๊ฐ์ ์ต์
์ ํตํด cpu ์ฌ์ฉ๋์ ์ฐจ๋ฑ์ ๋ ์ ์๋ค. cpu-shares
์ต์
๋ค์ 1024, 512์ ๊ฐ์ weight๋ฅผ ํตํด ์๋์ ์ผ๋ก ์ผ๋งํผ์ cpu๋ฅผ ์ฌ์ฉํ ์ง ๊ฒฐ์ ๋๋ค. ์์ ์์์์ ๋ ๊ฐ์ ์ปจํ
์ด๋ ๋ชจ๋ cpu ๋ถํ๋์ด ๋์ ๊ฒฝ์ฐ test1 ์ปจํ
์ด๋์ ๊ฒฝ์ฐ ์ฝ 69%์ cpu ์ฌ์ฉ๋ฅ , test2 ์ปจํ
์ด๋์ ๊ฒฝ์ฐ ์ฝ 33%์ cpu ์ฌ์ฉ๋ฅ ์ ๊ฐ์ง๊ฒ ๋๋ค.
๋ํ, --cpuset-cpu
๋ฅผ ํตํด ํน์ cpu๋ง ์ฌ์ฉํ๋๋ก ์ง์ ํ ์ ์์ผ๋ฉฐ, --cpu-period
, --cpu-quota
๋ฅผ ํตํด ์ค์ผ์ค๋ฌ์ ์ฃผ๊ธฐ๋ฅผ ์ ํ ์ฃผ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ๋ ์๋ค. --cpus
๋ ํด๋น ์ปจํ
์ด๋๊ฐ ๋ช๊ฐ์ cpu๋ฅผ ์ฌ์ฉํ ์ง ์ง์ ํจ์ผ๋ก์จ --cpu-period
, --cpu-quota
๋ณด๋ค ์ง๊ด์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
3. Block I/O ์ ํ
$ docker run -it \
--device-write-bps /dev/nvme0n1:100mb \
ubuntu:16.04
--device-write-bps
, --device-read-bps
, --device-write-iops
, --device-read-iops
์ ๊ฐ์ ์ต์
์ ํตํด ์ปจํ
์ด๋์ Block I/O์ ์๋๋ฅผ ์ ํ ํ ์ ์๋ค. ์ด๋ Buffered IO๊ฐ ์๋ Direct IO๋ง ํด๋นํ๋ค.
'๐ต๏ธโโ๏ธ ์ฐ๋ฌผ ๋ฐ์ ๊ฐ๊ตฌ๋ฆฌ > Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Docker: Windows, Mac์์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์คํํ๋๊ฐ? (0) | 2022.06.29 |
---|---|
Docker: Install & Run (0) | 2020.07.02 |
Docker: Basic (0) | 2020.06.30 |