Docker-compose
Docker Compose
Docker Compose๋?
์ฃผ์ ๋ช ๋ น์ด
Docker Compose ๊ตฌ์ฑํด๋ณด๊ธฐ
Docker Compose Environment
Compose Network ์ค์ ์ต์
docker Compose Version๋ณ yml ๋ณ์
๋ฒ์ ๋ณ ํน์ง ๋ฐ ๊ตฌ์ฑ
Docker Compose๋?
Docker Compose๋ ๋ค์ค ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ณ ๊ณต์ ํ ์ ์๋๋ก ๊ฐ๋ฐ๋ ๋๊ตฌ๋ก
YAML ํ์ผ์ ํตํ์ฌ ๋จ์ผ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์คํํ๊ฑฐ๋ ๋ชจ๋ ์ข ๋ฃ๊ฐ ๊ฐ๋ฅํ๋ฉฐ
YAML ํ์ผ์ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ์ ์ํ๊ณ ํ๋ก์ ํธ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฃจํธ์ ํ์ผ์ ์ ์ฅํจ์ผ๋ก
๋ค๋ฅธ ์ฌ์ฉ์๊ฐ Repository๋ฅผ ๋ณต์ ํ๊ณ Compose ์คํ๋ง์ผ๋ก ๊ตฌ๋์ด ๊ฐ๋ฅํ๋ค.
\
๋จ์ผ ํธ์คํธ์ ์ฌ๋ฌ ๊ฒฉ๋ฆฌ ๋ ํ๊ฒฝ
Compose๋ ํ๋ก์ ํธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ํ๊ฒฝ์ ์๋ก ๊ฒฉ๋ฆฌํ๊ณ ์ฌ๋ฌ ๋ค๋ฅธ ์ปจํ ์คํธ์์ ์ด ํ๋ก์ ํธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ ๊ทผํ๋ค.
์คํ์ -p ์ต์
์ ํตํ์ฌ ํ๋ก์ ํธ ์ด๋ฆ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ฉฐ Default ๊ฐ์ ํ๋ก์ ํธ ํด๋ ์ด๋ฆ์ด ๋๋ค.
docker-dompose up -p {ํ๋ก์ ํธ ์ด๋ฆ}
์ปจํ
์ด๋ ์์ฑ์ ๋ณผ๋ฅจ ๋ฐ์ดํฐ ๋ณด์กด
์ปจํ ์ด๋ ์์ฑ์ ๋ณผ๋ฅจ ๋ฐ์ดํฐ ๋ณด์กดํ์ฌ ๋ฐ์ดํฐ๊ฐ ํ๋ฐ๋์ง ์๋๋ก ์ฒ๋ฆฌํ๋ค.
\
๋ณ๊ฒฝ๋ ์ปจํ
์ด๋ ๋ง ์ฌ์์ฑ
์ปจํ ์ด๋๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ตฌ์ฑ์ ์บ์ํ์ฌ ๋ณ๊ฒฝ๋์ง ์์ ์๋น์ค๋ฅผ ๋ค์ ์์ํ๋ฉด Compose๋ ๊ธฐ์กด ์ปจํ ์ด๋๋ฅผ ๋ค์ ์ฌ์ฉํ๋ค.
\
๋ณ์ ๋ฐ ํ๊ฒฝ ๊ฐ ๊ตฌ์ฑ ์ด๋
Compose ํ์ผ์ ๋ณ์๋ฅผ ์ง์
๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ํ๊ฒฝ ๋๋ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ง๊ฒ ์ปดํฌ์ง์ ์ปค์คํ ์ด ๊ฐ๋ฅํ๋ค.
์ฃผ์ ๋ช
๋ น์ด
up -d
docker-compose.yml ํ์ผ์ ๋ด์ฉ์ ๋ฐ๋ผ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ ์๋น์ค๋ฅผ ์คํํ๋ค.
up์ผ๋ก compose๋ฅผ ์คํ์ ๋จ๊ณ๋ณ ์งํ์ฌํญ
์๋น์ค๋ฅผ ๋์ธ ๋คํธ์ํฌ ์ค์
ํ์ํ ๋ณผ๋ฅจ ์์ฑ(ํน์ ์ด๋ฏธ ์กด์ฌํ๋ ๋ณผ๋ฅจ๊ณผ ์ฐ๊ฒฐ)
ํ์ํ ์ด๋ฏธ์ง ํ(pull)
ํ์ํ ์ด๋ฏธ์ง ๋น๋(build)
์๋น์ค ์์กด์ฑ์ ๋ฐ๋ผ ์๋น์ค ์คํ
options
-d: ์๋น์ค ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํ. (docker run์์์ -d์ ๊ฐ์)--force-recreate: ์ปจํ ์ด๋๋ฅผ ์ง์ฐ๊ณ ์๋ก ์์ฑ.--build: ์๋น์ค ์์ ์ ์ด๋ฏธ์ง๋ฅผ ์๋ก ์์ฑ
ps
ํ์ฌ ํ๊ฒฝ์์ ์คํ ์ค์ธ ๊ฐ ์๋น์ค์ ์ํ๋ฅผ ํ์ํ๋ค.
stop, start
์๋น์ค๋ฅผ ๋ฉ์ถ๊ฑฐ๋, ๋ฉ์ถฐ ์๋ ์๋น์ค๋ฅผ ์์ํ๋ค.
down
์๋น์ค๋ฅผ ์ญ์ ํ๋ค. ์ปจํ ์ด๋์ ๋คํธ์ํฌ๋ฅผ ์ญ์ ํ๋ฉฐ, ์ต์ ์ ๋ฐ๋ผ ๋ณผ๋ฅจ๋ ์ญ์ ํ๋ค.
options
--volume: ๋ณผ๋ฅจ๊น์ง ๊ฐ์ด ์ญ์ (DB ๋ฐ์ดํฐ ์ด๊ธฐํ ํ๋๋ฐ ์ฉ์ดํจ)
exec
์คํ ์ค์ธ ์ปจํ ์ด๋์์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
run
docker run ๊ณผ ๋ง์ฐฌ ๊ฐ์ง๋ก ํน์ ๋ช
๋ น์ด๋ฅผ ์ผํ์ฑ์ผ๋ก ์คํํ๋ค.
exec๋ ํ๋ก์ธ์๋ฅผ ์คํ์์ผ๋์๋ ์ฌ์ฉ๋๊ณ run์ batch์ฑ ์์
์ ์ฌ์ฉ ํนํ ๋๊ฒ์ผ๋ก ๋ณด์ฌ์ง๋ค.
options
--rm: ํด๋น ๋ช ๋ น์ด๊ฐ ์ข ๋ฃ๋ ๋ค ์ปจํ ์ด๋๋ ์ข ๋ฃ
logs
output์ผ๋ก ๋์จ log๋ค์ ํ์ธ ํ ๋ ์ฌ์ฉํ๋ค.
docker์ logs์ ๋ง์ฐฌ๊ฐ์ง๋ก --follow, -f๋ฅผ ํ์ฌ ์ค์๊ฐ์ผ๋ก ๋์ค๋ ๋ก๊ทธ ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
options
-f,--follow: ์ค์๊ฐ ๋ก๊ทธ ์ถ๋ ฅ
config
docker-compose์ ์ต์ข
์ ์ผ๋ก ์ ์ฉ๋ ์ค์ ์ ๋ณด์ฌ์ค๋ค.
-f๋ฅผ ์ด์ฉํ์ฌ ์ฌ๋ฌ๊ฐ์ ์ค์ ํ์ผ์ ๋์ ์๋ ํ์ธ์ ์ฉ์ดํจ
Docker Compose ๊ตฌ์ฑํด๋ณด๊ธฐ.
docker compose ํ์ผ์ ํฌ๊ฒ ์๋์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด์๋ค.
\
docker-compose version ํ์ธ ๋งํฌ
์๋น์ค ์ ์
App Service ์ ์
์๋จ์ Docker์คํ๋ช
๋ น์ด๋ฅผ ์๋์ฒ๋ผ Docker Compose๋ก ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
Compose ์ฅ์ ์ผ๋ก๋ ์๋๊ฒฝ๋ก ์ ๋ ฅ์ด ๊ฐ๋ฅํ๋ฉฐ yaml๋ก ๊ตฌ์ฑํ์ฌ ์ค์ ํ์ผ์ ๊ฐ๋ ์ฑ์ด ์ข์์ง๋ค.
MySQL ์๋น์ค ์ ์
์ต์ข
๋ณธ
docker-compose.yml ํ์ผ๋ช
์ผ๋ก YAML ํ์ผ์ ์์ฑํ๊ณ docker-compose up ๋ช
๋ น์ด๋ฅผ ํตํ์ฌ ์์ํ๋ค.
๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ ์ต์
-d
๋ง์ฝ
docker-compose.yml์ด ์๋ ๋ค๋ฅธ ํ์ผ์ ์คํํ๊ธฐ ์ํด์docker-compose -f {YAML_FILE_PATH} upํ์์ผ๋ก ๋ช ๋ น์ด ๊ฐ๋ฅํ๋ค.
ex) $ docker-compose -f docker-compose-custom.yml updocker-compose -f docker-compose.yml -f docker-compose-test.yml upํํ๋ก ๋๊ฐ๋ ๊ฐ๋ฅํ๋ค. YAML์ ๋๊ฐ ์ด์ ์ค์ ํ ๊ฒฝ์ฐ ์์ ์๋ ์ค์ ๋ณด๋ค ๋ค์ ์๋ ํ์ผ์ด ์ฐ์ ์ ๋๋ค.
Docker Compose Environment
.env file
.env fileํ๊ฒฝ๋ณ์ ์ค์ ์ผ๋ก ์๋์ ๊ฐ์ด ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก docker-compose up์ ํ ์ํ์์๋ .env ํ์ผ์ ์ฐพ์ ํ์ผ ๋ด๋ถ์ ์๋ ๊ฐ์ ํ๊ฒฝ ๋ณ์๋ก ์ฌ์ฉํ๋ค.
์ฌ๋ฌ ํ์ผ์์ ๋์ผํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๋ ์ฌ์ฉํ ๊ฐ์ ์ ํํ๊ธฐ ์ํด Compose์์ ์ฌ์ฉํ๋ ์ฐ์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
Compose file
Shell environment variables
Environment file
Dockerfile
Variable is not defined
์ํฉ์ ๋ฐ๋ฅธ .env ์ ์ฉ๋ฒ
.env ์ ์ฉ๋ฒdev, prod, local ํ๊ฒฝ์ ๋ฐ๋ผ์
.env.dev, .env.prod, .env.local ํ์์ผ๋ก ํ ๋น์ ์ค ์ ์๋๋ฐ
--env-file ์ต์
์ผ๋ก environment ํ์ผ ์ง์ ์ด ๊ฐ๋ฅํ๋ค.
CLI Environment
์๋์ ๋ช ๋ น์ด๋ค์ ๊ฐ๊ฐ ๊ทธ ์๋์ compose ํ์ผ์ด ์ผ์นํ๊ฒ ๋งตํ๋๋ค.
Docker Cli Environment Variable
CLI์์ ์คํํ ๋์ ์ฐธ๊ณ ๋ณ์ ํค ๊ฐ https://docs.docker.com/compose/reference/envvars/
Compose Network ์ค์ ์ต์
์ Compose๋ฅผ ์คํํ์๋์ ๋คํธ์ํฌ๊ฐ ์์ฑ๋๋ ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
myapp_default๋คํธ์ํฌ ์์ฑweb์ปจํ ์ด๋๊ฐ ์์ฑ. (web์ด๋ผ๋ ์ด๋ฆ์ผ๋กmyapp_default์ ์ ์)db์ปจํ ์ด๋๊ฐ ์์ฑ. (db์ด๋ผ๋ ์ด๋ฆ์ผ๋กmyapp_default์ ์ ์)
๋คํธ์ํฌ๊ฐ ๊ตฌ์ฑ๋ ์ดํ
postgres://db:5432์ฃผ์๋ก ์ ์ ๊ฐ๋ฅ๋ด๋ถ ์ปจํ ์ด๋ ๋ผ๋ฆฌ๋
postgres://db:5432๋ก ์ ์ํ๊ณ ์ธ๋ถ์์postgres://{DOCKER_IP}:8001๋ก ์ ์์ปจํ ์ด๋ ์ ๋ฐ์ดํธ๋ฅผ ์ํด ๋ค์ ์์ํ ๊ฒฝ์ฐ์๋ ์ปจํ ์ด๋ ์ด๋ฆ์ ๊ฐ์ง๋ง ๋ค๋ฅธ IP๋ก ๋คํธ์ํฌ๊ฐ ์์ฑ๋์ด IP ๋ฒ ์ด์ค๋ IP๋ฅผ ๋ค์ ์ฐพ์์ ์ฐ๊ฒฐํ์ฌ์ผ ํ๊ณ ๋ค๋ฅธ ์ปจํ ์ด๋์์ ๊ธฐ์กด์ ์ ์ํ๋ ์ปจํ ์ด๋ ์ด๋ฆ์ผ๋ก ์ฌ ์ฐ๊ฒฐ์ ์๋ํ์ฌ์ผ ํ๋ค.
Links
๋ค๋ฅธ ์๋น์ค์ ์ปจํ
์ด๋์ ์ฐ๊ฒฐํ๋ค.
์ด๋ฆ๋ง ์ง์ ํ๊ฑฐ๋ {name}:{alias}ํ์์ผ๋ก ์ง์ ํ ์ ์๋ค.
depend_on ์ฒ๋ผ ๋ํ๋์ ๊ด๊ณ๊ฐ ๋งบ์ด์ง๋ฉฐ ๋คํธ์ํฌ๋ ๊ฐ์ด ์ฐ์ผ๋๋ ํ๋ ์ด์์ ๋คํธ์ํฌ๊ฐ ๊ด๋ฆฌ๋์ด ๋คํธ์ํฌ๋ง ์ฌ์ฉํ๊ธธ ๊ถ์ฅ
Custom Network
Custom Network๋ฅผ ํตํด ์ข ๋ ๋ณต์กํ ๋คํธ์ํฌ ํ ํด๋ก์ง๋ฅผ ๋ง๋ค ์ ์๋ค
top-level network ์ต์
์์ ์ปค์คํ
ํ๊ฒ ์ง์ ์ด ๊ฐ๋ฅ
์์ ๊ฐ์ด ์ค์ ์ ํ๋ฉด app์์๋ง proxy, db์ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ db์ proxy๋ ์๋ก ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ฒ ์ค์ ์ด๋๋ค.
IPv4, IPv6
IPv6 ์ฌ์ฉํ๋ ค๋ฉด enable_ipv6๋ฅผ ๋ฐ๋์ true๋ก ํด์ผํ๋ค.
Default Network
default๋ฅผ ์ด์ฉํ์ฌ ์์ฒด ๋คํธ์ํฌ๋ฅผ ์ง์ ํ๋ฉด์ ์ฑ ์ ์ฒด์ ๊ธฐ๋ณธ์ ์ธ ๋คํธ์ํฌ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
Use Pre Existing Network
๊ธฐ์กด์ ์ธ๋ถ์ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด external์ ์ฌ์ฉํ์ฌ ๋ช
์ํ๋ค
docker Compose Version ๋ณ yml ๋ณ์
Versioning
docker-compose.yml ์๋จ์ ์์ฑํ๋ versioning ์์ฑ ๋ฐฉ๋ฒ
Version 1์์๋ ๋ฒ์ ๋์ ์๋ตVersion 2๋ถํฐ ๋ง์ด๋ ๋ฒ์ (2.x)๊น์ง ์ค์ ํด์ผ ํจ (์๋ต์ 2.0์ผ๋ก ์ ์ฉ๋๋ค.)Version 3์ ๋์ปค ์ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ๋๋๋ก ๋์์ธ ๋จ
๊ฐ docker ๋ฒ์ ๋ณ ์ฌ์ฉ ๊ฐ๋ฅํ docker-compose.yml ๋ฒ์
docker-compose.yml ๋ฒ์ 3.8
19.03.0+
1.26.0+
3.7
18.06.0+
-
3.6
18.02.0+
-
3.5
17.12.0+
-
3.4
17.09.0+
-
3.3
17.06.0+
-
3.2
17.04.0+
-
3.1
1.13.1+
-
3.0
1.13.0+
1.10.0+
2.4
17.12.0+
1.21.0+
2.3
17.06.0+
1.16.0+
2.2
1.13.0+
1.13.0+
2.1
1.12.0+
1.9.0+
2.0
1.10.0+
1.6.0+
1.0
1.9.1.+
Compose ๋ฒ์ ์ ๋ฐ๋ฅธ ์ฐจ์ด์
Structure๊ฐ ํ์ฉํ๋ ํค ๊ฐ๊ณผ ๋งค๊ฐ๋ณ์
์คํํด์ผํ๋ ์ต์ Docker Engine ๋ฒ์
๋คํธ์ํน๊ณผ ๊ด๋ จ๋ Compose์ ๋์
Compose ๋ง์ด๊ทธ๋ ์ด์
Version 2.x -> 3.x ๋ง์ด๊ทธ๋ ์ด์
Compose ๋ฒ์ 2์ 3์ ๊ตฌ์กฐ๋ ๋์ผํ์ง๋ง ์ญ์ ๋ ๋งค๊ฐ๋ณ์๋ค์ด ์์ด์ 3.X์ ๋ง๊ฒ ์์ ํ์ฌ์ค๋ค.
volume_driver
์๋น์ค์์ ๋ณผ๋ฅจ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์ ํ๋ ๋์
top-level volumes option์ ์ฌ์ฉํ์ฌ ๋ณผ๋ฅจ์ ์ ์ ํ๊ณ ๋๋ผ์ด๋ฒ๋ฅผ ์ง์ volumes_from: ์๋น์ค๊ฐ์ ๋ณผ๋ฅจ์ ๊ณต์ ํ๋ ค๋ฉดtop-level volumes option์ ์ฌ์ฉํ์ฌ ์ ์ํ๊ณ ์๋น์ค ์์ค ๋ณผ๋ฅจ ์ต์ ์ ์ฌ์ฉํ์ฌ ๊ณต์ ํ๋ ๊ฐ ์๋น์ค์์ ์ฐธ์กฐcpu_shares,cpu_quota,cpuset,mem_limit,memswap_limit๋3.x์resource๋ก ๋์ฒดํด๋น ์ต์ ์ docker swarm์๋ง ์ ์ฉ
์ปจํ ์ด๋์ ์ ์ฉํ๊ธฐ ์ํด์ ์๋ ๋งํฌ์ ๊ฐ์ด ์ ์ฉ ํ์
extends์ ์ ๊ฑฐ๋์ด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ด์ผํจgroup_add์3.x์์ ์ ๊ฑฐ๋จpids_limit์3.x์ ๋์ ๋์ง ์์networks -
link_local_ips์ต์ ์3.x์ ๋์ ๋์ง ์์
Version 1 -> 2.x ๋ง์ด๊ทธ๋ ์ด์
๋ชจ๋ ๊ฒ์ ํ๋จ๊ณ์ฉ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ํ๊ณ
services:๋ฅผ ์ฝ์์ต์๋จ์ version:
2.x์ง์ dockerfile์buildํ์๋ก ์ฎ๊ธด๋ค.
log_driver,log_opt๋loggingํ์๋ก ๋๊ณ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ๋ค.
net๋network_mode๋ก ๋์ฒด
volumesnamed volumes์ด ์๋ ๊ฒฝ์ฐtop-level volumes option์์data๋ฅผ ์ ์ธํด์ผ ํจ
๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ ํธ ์ด๋ฆ์ผ๋ก ๋ณผ๋ฅจ์ ์ ์ธํ์ง๋ง
data๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ณผ๋ฅจ์ ์์ฑํ๊ณ ์ถ์ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ธ๋ถ๋ก ์ ์ธ์ํ๋ค.
๋ฒ์ ๋ณ ํน์ง ๋ฐ ๊ตฌ์ฑ
Version.1
https://docs.docker.com/compose/compose-file/compose-file-v1/
yml ๋ฌธ์์ ๋ฒ์ ๋ช ์ด ์๋ต
volumes,networksorbuild arguments์ฌ์ฉ ๋ถ๊ฐnetworking์ด ์ง์๋์ง ์์
๋ชจ๋ ์ปจํ ์ด๋๋ ๊ธฐ๋ณธ bridge ๋คํธ์ํฌ ์ ๋ฐฐ์น ๋๊ณ ํด๋น IP ์ฃผ์์ ๋ค๋ฅธ ๋ชจ๋ ์ปจํ ์ด๋์์ ์ฐ๊ฒฐ ๊ฐ๋ฅ
์ปจํ ์ด๋ ๊ฐ ๊ฒ์์ ํ์ฑํ ํ๋ ค๋ฉด
links๋ฅผ ์ฌ์ฉ
links https://docs.docker.com/compose/compose-file/compose-file-v1/#links
Version.2
https://docs.docker.com/compose/compose-file/compose-file-v2/
Compose 1.6.0์ด์Docker Engine of version 1.10.0+.์์ ๋์yml ๋ฌธ์์ ๋ฒ์ ๋ช ์ ๋ง์ด๋ ๋ฒ์ ๊น์ง ์์ฑ
ex) 2.1๋ชจ๋ ์๋น์ค๋ services ํค ์๋์ ์ ์ธ
volumes์ Named volumes ์์ฑ ๊ฐ๋ฅnetworks์ Network ์์ฑ ๊ฐ๋ฅ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ปจํ ์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒด์ ๊ธฐ๋ณธ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋๋ฉฐ ์๋น์ค ์ด๋ฆ๊ณผ ๋์ผํ ํธ์คํธ ์ด๋ฆ์์ ๊ฒ์ ๊ฐ๋ฅ ์ด๊ฒ์ ๋งํฌ๊ฐ ๊ฑฐ์ ๋ถํ์ํ๋ค๋ ๊ฒ์ ์๋ฏธ.
links ๋์ ์๋ฆฌ ์ด ์ปจํ ์ด๋์ /etc/hosts ํ์ผ์ ๊ทธ ๋ด์ฉ์ด ์ถ๊ฐ๋์ด์ ์ปจํ ์ด๋์์ ๋ค๋ฅธ ์ปจํ ์ด๋ ๋ค์ ์ ๊ทผํ ์ ์๊ฒ ๋๋ค.
๋คํธ์ํฌ https://docs.docker.com/compose/networking/
Version2 ์์
์ถ๊ฐ๋ ๋งค๊ฐ๋ณ์
network -
aliasesNetwork -
depends_on:
depends_on
์คํ์ depends_on์ ๋ช
์๋ db, redis๊ฐ ๋ฌ ๋ค์ ํด๋น ์๋น์ค๊ฐ ์คํ๋๋ค.
Version 2.1
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
link_local_ipsbuild, service -
isolationvolumes, networks, build -
labelsvolumes -
nameuserns_modehealthchecksysctlspids_limitoom_kill_disablecpu_period
Version 2.2
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
initscalecpu_rt_runtime,cpu_rt_periodbuild -
network์
Version 2.3
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
build -
target,extra_hosts,shm_sizehealthcheck -
start_periodservice -
runtimevolumns -
LONG SYNTAX์ ๊ณตdevice_cgroup_rules
LONG SYNTAX
Version 3
https://docs.docker.com/compose/compose-file/compose-file-v3/ ์ญ์ ๋ ๋งค๊ฐ ๋ณ์
volume_drivervolumes_fromcpu_sharescpu_quotacpusetmem_limitmemswap_limitextendsgroup_add
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
Version 3.1
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
Version 3.2
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
build -
cache_fromnetwork driver option -
attachable)deploy -
endpoint_modedeploy -
placement preference
Version 3.3
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
Version 3.4
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
healthcheck -
start_periodupdate - order
volumes - name
Version 3.5
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
Version 3.6
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
volume mount type -
tmpfs
Version 3.7
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
service -
initdeploy -
rollback_configroot of service,network,volume,secret์ extension-fields ์ ๊ณต
Version 3.8
์ถ๊ฐ๋ ๋งค๊ฐ ๋ณ์
secret -
driver,driver_optsoption (swarm์ ๋ฐฐํฌ์์๋ง ์ ์ฉ)
์ฐธ๊ณ ํ ๋ฌธ์ https://docs.microsoft.com/ko-kr/visualstudio/docker/tutorials/use-docker-compose https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose#%EB%8F%84%EC%BB%A4-%EC%BB%B4%ED%8F%AC%EC%A6%88%EC%9D%98-%EC%A3%BC%EC%9A%94-%EB%AA%85%EB%A0%B9%EC%96%B4 https://docs.docker.com/compose/environment-variables/ https://docs.docker.com/compose/env-file/ https://docs.docker.com/compose/reference/envvars/
Last updated