Compose: version3์˜ Depends_on

์— ๋งŒ๋“  2017๋…„ 01์›” 09์ผ  ยท  37์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/compose

์•ˆ๋…•ํ•˜์„ธ์š” ์ €๋Š” v3์—์„œ dependent_on ๊ธฐ๋Šฅ์„ ์ด์‹ํ•˜๊ฒ ๋‹ค๊ณ  ๋งํ•œ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ์—์„œ์™€ ๊ฐ™์ด docker-compose v3์—์„œ dependent_on์˜ ๋Œ€์•ˆ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

formav3 kinquestion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ƒํƒœ ํ™•์ธ ์ข…์†์„ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด docker-compose v3์—์„œ ๋™๋“ฑํ•œ ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? v3์—์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ญ์ œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ ์–ด๋„ ์ด์— ๋Œ€ํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฒฝ๋กœ๊ฐ€ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด docker-compose v2.1์— ๋„์ž… ํ•œ ๋‹ค์Œ v3 ์šฉ์œผ๋กœ ์‚ญ์ œํ•˜๋ ค๋Š” ์˜๋„๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ˜„์žฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์ž‘์„ฑ ํŒŒ์ผ์„ ์„ค์ •ํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋‹ค์Œ ๋ฒ„์ „์—์„œ ์‚ญ์ œ๋˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์•„ ์‚ฌ์šฉ์ด ์ƒˆ๋กœ์šด ๋„์ปค ์ž‘์„ฑ ํŒŒ์ผ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  37 ๋Œ“๊ธ€

depends_on ์€ (๋Š”) v3์— ์—ฌ์ „ํžˆ ์กด์žฌํ•˜์ง€๋งŒ ์ƒํƒœ ๊ฒ€์‚ฌ ์ข…์†์„ฑ (๊ฒฐ๊ณผ์ ์œผ๋กœ ํ™•์žฅ ๊ตฌ๋ฌธ)์€ ์ด์‹๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

HTH

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” docker-compose v3์„ ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ swarm์— ๋ฐฐํฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘ ํ•ด์•ผํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‹œ์ž‘๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— dependent_on์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

docker-compose ๋˜๋Š” docker stack deploy ์žˆ์Šต๋‹ˆ๊นŒ?

๋„์ปค ์Šคํƒ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
7 ๋Œ€์˜ ์ปดํ“จํ„ฐ์— ๋ฐฐํฌํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์ƒํƒœ ํ™•์ธ ์ข…์†์„ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด docker-compose v3์—์„œ ๋™๋“ฑํ•œ ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? v3์—์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ญ์ œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ ์–ด๋„ ์ด์— ๋Œ€ํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฒฝ๋กœ๊ฐ€ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด docker-compose v2.1์— ๋„์ž… ํ•œ ๋‹ค์Œ v3 ์šฉ์œผ๋กœ ์‚ญ์ œํ•˜๋ ค๋Š” ์˜๋„๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ˜„์žฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์ž‘์„ฑ ํŒŒ์ผ์„ ์„ค์ •ํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋‹ค์Œ ๋ฒ„์ „์—์„œ ์‚ญ์ œ๋˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์•„ ์‚ฌ์šฉ์ด ์ƒˆ๋กœ์šด ๋„์ปค ์ž‘์„ฑ ํŒŒ์ผ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ๋กœ์„œ๋Š” ์ƒˆ๋กœ์šด depends_on ๊ตฌ๋ฌธ์ด v3๋กœ ์ด์‹๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ณ„ํš์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์›ํ•˜๋Š” ๋‹ต์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ตœ์†Œํ•œ ๋ช…ํ™•์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ณ„ํš์—์—†๋Š” ์ด์œ ๋ฅผ ๋ฌผ์–ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๊ฒŒํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์œ ์šฉ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ช…ํ™•์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ์„ค๋ช…ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด์œ ๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๋Œ€์•ˆ (์กด์žฌํ•œ๋‹ค๋ฉด)?
Depends_on์€ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋ฐ˜๋Œ€๋กœ ์„œ๋น„์Šค์— ์˜์กดํ•˜๋Š” ์ •๋ง ์‰ฌ์šด ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค (์ฆ‰, ๋Œ€๊ธฐ ์Šคํฌ๋ฆฝํŠธ๋กœ ํƒ€์‚ฌ ์ด๋ฏธ์ง€๋ฅผ ๋ž˜ํ•‘ํ•˜๊ณ  ์œ ์ง€ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธ ํ•  ์ˆ˜ ์žˆ์Œ).

@ shin- ์™œ 2.1์—์„œ ๊ตฌํ˜„ ํ–ˆ์Šต๋‹ˆ๊นŒ? ์‚ฌ๋žŒ๋“ค์ด ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ๊ฒƒ์— ์˜์กดํ•˜๊ฒŒ๋˜๋ฉด ๊ทธ๋“ค์€ ๊ฒฐ์ฝ” ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ์ˆ˜ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์กด๊ฒฝํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ, ๊ทธ๊ฒƒ์€ ๋‹น์‹ ๋“ค ํŽธ์—์„œ ๋งค์šฐ ๊ฐ€๋‚œํ•œ ๊ณ„ํš์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ v3์˜ ์ง€์› depends_on ๊ตฌ๋ฌธ์€ ๋ฌด์—‡์ธ๊ฐ€? https://docs.docker.com/compose/compose-file/#version -3์€ depends_on์„ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ docker-compose v1.10์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌ ํ•  ๋•Œ v2 ๋˜๋Š” v2.1 dependent_on ๋ฒ„์ „์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜ v3 ์ž‘์„ฑ ํŒŒ์ผ ...

์•ˆ๋…•ํ•˜์„ธ์š”.

๊ณ„ํš์—์—†๋Š” ์ด์œ ๋ฅผ ๋ฌผ์–ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๊ฒŒํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์œ ์šฉ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@hsmade

์ด์œ ๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๋Œ€์•ˆ (์กด์žฌํ•œ๋‹ค๋ฉด)?

https://github.com/docker/docker/issues/30404#issuecomment -274825244์—์„œ

depends_on ๋Š” docker stack deploy ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Swarm ๋ชจ๋“œ ์„œ๋น„์Šค๋Š” ์‹คํŒจ ํ•  ๋•Œ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฏ€๋กœ ์‹œ์ž‘์„ ์ง€์—ฐ ํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋ฒˆ ์‹คํŒจํ•˜๋”๋ผ๋„ ๊ฒฐ๊ตญ ํšŒ๋ณต ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


๋ฟก๋ฟก

๊ทธ๋ ‡๋‹ค๋ฉด v3์— ๋Œ€ํ•ด ์ง€์›๋˜๋Š” dependent_on ๊ตฌ๋ฌธ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

docker-compose ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ v3์— ์ง€์›๋˜๋Š” ๊ตฌ๋ฌธ์€ ๋ชฉ๋ก ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค (2.0์— ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ๋ฌธ๊ณผ ์œ ์‚ฌ). docker stack deploy ๊ฒฝ์šฐ ์ข…์†์„ฑ์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (์œ„์˜ ๊ทผ๊ฑฐ ์ฐธ์กฐ).


๋ฒ„์ „ 3 ํ˜•์‹์€ ์™ธ๋ถ€ docker-compose ๋„๊ตฌ์—์„œ ํ†ตํ•ฉ ๋œ docker stack ์†”๋ฃจ์…˜์œผ๋กœ ์ด๋™ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ตฌํ˜„์—๋Š” ์ž‘์—…์ค‘์ธ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. docker-compose ์˜ ๋ฒ„์ „ 3 ํ˜•์‹ ์ง€์›์€ ์ด๋Ÿฌํ•œ ์ „ํ™˜์„ ๋•๊ธฐ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. fig / Compose๊ฐ€ ์ฒ˜์Œ ๋„์ž… ๋œ ์ดํ›„ Docker์—์„œ ๋งŽ์€ ๊ฒƒ๋“ค์ด ๋ณ€๊ฒฝ๋˜๊ณ  ๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” ์˜๋ฏธ๊ฐ€์žˆ๋Š” ๋งŽ์€ ๊ฒƒ๋“ค์ด ์ด์ œ ์“ธ๋ชจ ์—†๊ฒŒ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. docker stack ๋Š” ์ƒˆ๋กœ์šด ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜๋Š” ์ƒˆ๋กœ์šด ์‹œ์ž‘์œผ๋กœ volumes_from ์—์„œ depends_on ๊นŒ์ง€ ๋‹ค๋ฃจ๊ธฐ ํž˜๋“  ๊ตฌ๋ฌธ๊ณผ ๊ฐœ๋…์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ค‘ ์ผ๋ถ€์— ๋Œ€ํ•ด ํŠน๋ณ„ํ•œ ์šฐ๋ ค ์‚ฌํ•ญ์ด์žˆ๋Š” ๊ฒฝ์šฐ ์ ๊ทน์ ์œผ๋กœ ๋ฐ˜๋ณต๋˜๋Š” docker / docker repo
์•„์ง Docker ์„œ๋น„์Šค ๋ฐ docker stack ๋กœ ์ „ํ™˜ ํ•  ์ค€๋น„๊ฐ€๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ v2 ํ˜•์‹์„ ๊ณ„์† ์‚ฌ์šฉํ•ด๋„๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฏธ๋ž˜์˜ ์–ด๋Š ์‹œ์ ์—์„œ ์ผ๋ชฐ์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ด์ง€๋งŒ ๋ฏธ๋ฆฌ ๋ฐœํ‘œ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ ํ›„์—๋„ ์ฝ”๋“œ๋Š” ๊ณ„์† ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ์˜คํ”ˆ ์†Œ์Šค๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ. ์ด์ œ ๋ง์ด๋ฉ๋‹ˆ๋‹ค.

Swarm ๋ชจ๋“œ ์„œ๋น„์Šค๋Š” ์‹คํŒจ ํ•  ๋•Œ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฏ€๋กœ ์‹œ์ž‘์„ ์ง€์—ฐ ํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋ฒˆ ์‹คํŒจํ•˜๋”๋ผ๋„ ๊ฒฐ๊ตญ ํšŒ๋ณต ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

IMHO ์ด๊ฒƒ์€ ์ข‹์€ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋“  ์„œ๋น„์Šค๊ฐ€ ์˜์กดํ•˜๋Š” ๋‹ค๋ฅธ ์„œ๋น„์Šค๊ฐ€ ์ค€๋น„๋˜์ง€ ์•Š์•˜ ์Œ์„ ์ œ๋Œ€๋กœ ๊ฐ์ง€ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฒˆ ์‹œ๋„ํ•œ ๋‹ค์Œ ์‹คํŒจํ•˜๋ฏ€๋กœ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‚˜์ค‘์— ์ฃฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ๋ณ„๋กœ ์ข‹์ง€ ์•Š์€ ์ง„์ž… ์  ๋ž˜ํผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„์ž…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ฑด๊ฐ• ์ฒดํฌ ์˜์กด์„ฑ์€ ๋งค์šฐ ์ข‹์•˜์ง€ ๋งŒ ์Šค์›œ ๋ชจ๋“œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Swarm ๋ชจ๋“œ ์„œ๋น„์Šค๋Š” ์‹คํŒจ ํ•  ๋•Œ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฏ€๋กœ ์‹œ์ž‘์„ ์ง€์—ฐ ํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋ฒˆ ์‹คํŒจํ•˜๋”๋ผ๋„ ๊ฒฐ๊ตญ ํšŒ๋ณต ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…• ๋ชจ๋‘๋“ค!
์˜ˆ๋ฅผ ๋“ค์–ด ์ž‘์—…์„ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•˜๊ณ  ์™„๋ฃŒํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ (์„ค๊ณ„์— ๋”ฐ๋ผ ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜์–ด์•ผ ํ•จ) ๋ฐ˜๋ณตํ•ด์„œ ๋‹ค์‹œ ์‹œ์ž‘๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๊นŒ?

@ Marvel77 ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ˆ,ํ•˜์ง€๋งŒ deploy.restart_policy ์„น์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋™์ž‘์„ ์žฌ์ •์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค : https://docs.docker.com/compose/compose-file/#restartpolicy

@ shin- ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@mustafaakin ์‹ค์ œ๋กœ ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ (IMHO) ๋‹น์‹ ์ด ์˜์กดํ•˜๋Š” ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋‚ด๊ฒฐํ•จ์„ฑ ์—ฐ๊ฒฐ์„ ๊ฐ–๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์‘๋‹ต ํ•  ๋•Œ๊นŒ์ง€ ์‹œ์ž‘์„ ์ง€์—ฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์žฌ์‹œ์ž‘์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๊นŒ? ์•ฑ์ด์ด ๋ฌธ์ œ๋ฅผ ๋ณต๊ตฌ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•˜๋ฉฐ 'depend_on'์—๋„ ์˜์กด ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
์–ด๋–ค ์˜๋ฏธ์—์„œ ์‚ฌ์šฉ ์ค‘๋‹จ์€ ์ข‹์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŽธ์˜๋Š” ์šฐ๋ฆฌ๋ฅผ ๊ฒŒ์œผ๋ฅด๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

@hsmade ๊ทธ๋Ÿฌ๋‚˜ ๊ฑฐ์˜ ๋ชจ๋“  init (upstart, systemd)์€ ๊ด€๊ณ„์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒŒ์œผ๋ฅด๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ง์ด๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. SSHD ๋ฐ๋ชฌ์€ ๋„คํŠธ์›Œํฌ ์žฅ์น˜๊ฐ€ ์ค€๋น„ ๋  ๋•Œ๊นŒ์ง€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ์„ ์ œ์–ด ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ, ๋‚ด ์‹œ์Šคํ…œ์„ ๋‚ด๊ฒฐํ•จ์„ฑ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ A๊ฐ€ B์— ์˜์กดํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. A๋Š” ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€ ๋งŒ ๊ฒฐ์ •์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด B์— ๋‹ค์‹œ ์‹œ์ž‘ ์ •์ฑ…์„ ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์˜์›ํžˆ ๋‹ค์‹œ ์‹œ์ž‘ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด?

์ด๊ฒƒ์€ Compose๋ณด๋‹ค ๋” ํฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Compose๋Š” ๊ทธ๋ƒฅ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. Swarm์ด ๊ทธ๋“ค์„ ์šด์˜ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ Swarm์ด ๊ฑด๊ฐ• ๊ด€๊ณ„์— ๋Œ€ํ•œ ์ด๋Ÿฌํ•œ ์˜์กด์„ฑ์„ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@mustafaakin ์ปจํ…Œ์ด๋„ˆํ™” ๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰์ค‘์ธ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ํด๋ž˜์‹ ์ดˆ๊ธฐํ™” ์‹œ์Šคํ…œ๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ •๋ง๋กœ ๋ง์ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์˜ ์•„์ด๋””์–ด๋Š” ์ž์ฒด ํฌํ•จ ๋œ ์ตœ์†Œ ์—”ํ‹ฐํ‹ฐ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ API ๋“ฑ์— ๋Œ€ํ•œ ๋งค์šฐ ๋ช…ํ™•ํ•œ ์ •์˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์™ธ๋ถ€ ์„ธ๊ณ„์˜ ์–ด๋–ค ์ง€์œ„๋„ ๊ฐ€์ •ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ์•„๋‹ˆ์š”, ๊ฑฐ๊ธฐ์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ • ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด, ์‹œ์ž‘์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•„๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ์€ ๋ฌธ์ œ์ด๋ฉฐ, ์‚ฌ๋ผ์งˆ ๋•Œ ์ž˜ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•˜๋ฉฐ ์ „์ž๋„ ํ•ด๊ฒฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์‹œ, ์ด๊ฒƒ๋“ค์€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‚˜์˜ ์ƒ๊ฐ์ด๋ฉฐ ๋‚˜๋Š” ํ‹€๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

์˜ˆ, ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์—๋Š” ์˜๋ฏธ๊ฐ€ ์—†์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์ด ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ์ €๋Š” ์ปจํ…Œ์ด๋„ˆ์—์„œ Hadoop์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Docker๋Š” ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋งŒ์„์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด, ๋‚ด๊ฐ€ ํ†ต์ œ ํ•  ์ˆ˜์žˆ๋Š” ํ™˜๊ฒฝ์—๋Š” ์ข‹์ง€๋งŒ ๋‚ด๊ฐ€ ํ†ต์ œ ํ•  ์ˆ˜์—†๋Š” ๊ฒƒ๋“ค์—์„œ๋Š” ์„œ๋น„์Šค์˜ ์ง„์ž… ์ ์„ ๋ž˜ํ•‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. healtcheck์™€ ํ•จ๊ป˜ dependent_on์œผ๋กœ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Swarm์—์„œ๋„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•ด์„œ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ๊ฒŒ์œผ๋ฅธ ์‚ฌ๋žŒ์˜ ์„ ํƒ ์ผ๋ฟ์ž…๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„,

"๋‚ด๊ฒฐํ•จ์„ฑ"๊ณผ "์ฒ˜์Œ ์ดˆ๊ธฐํ™”"์— ๋Œ€ํ•œ ์ผ์ข…์˜ ์˜คํ•ด๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
์ ‘๊ทผ ๋ฐฉ์‹์ด ์ฒซ ๋ฒˆ์งธ ์ ‘๊ทผ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์ข‹๊ฒŒ ๋“ค๋ฆฌ์ง€๋งŒ ํ›„์ž๋Š” ์ง„์ •ํ•œ ๊ณ ํ†ต์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•˜์‹ญ์‹œ์˜ค.
๋‚˜๋Š” ๋‚˜ ์ž์‹ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋กœ์—๊ฒŒ ์–ด๋Š ์ •๋„ ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ ํŠน์ • ์ˆœ์„œ๋กœ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ดˆ๊ธฐํ™” ๋‹จ๊ณ„์—์„œ ๊ณ„์†ํ•ด์„œ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ํŠน์ • ์‹œ์ ์—์„œ ์ ์ ˆํ•œ ์ˆœ์„œ๋กœ ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์€ ์•…๋ชฝ๊ณผ๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ์‹œ์ž‘ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ "๋‹ค์šด ํƒ€์ž„"์„ ๊ณ„ํš ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋•Œ๋กœ๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผํ•˜๋Š” "์œ ์ง€ ๊ด€๋ฆฌ"์‹œ๊ฐ„์ด ์žˆ๊ณ  ์‹œ์Šคํ…œ์ด ์‹ค์ œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์•„๋ฌด๋„ ์˜ˆ์ธกํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„œ๋น„์Šค๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ ์ ˆํ•œ ์ฃผ๋ฌธ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์ด 7 ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋กœ ์–ด๋–ป๊ฒŒ ๋ ์ง€๋ณด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ๊ณ  ๊ธฐ๋‹ค๋ ธ๊ณ  20 ๋ถ„ ๋™์•ˆ _swarm_์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๊ทธ๊ฒƒ์„ ์•Œ์•„ ๋‚ด์ง€ ๋ชปํ–ˆ๊ณ  ์ „์ฒด ์„œ๋น„์Šค๋Š” ์—ฌ์ „ํžˆ ๋‹ค์šด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ _ ์ดˆ๊ธฐ ์‹œ์ž‘ _์ด ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ๊ฑธ๋ฆด์ง€ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ์ธํ”„๋ผ๋ฅผ ๋ณต๊ตฌํ•˜๊ณ  ๋ณต์›ํ•˜๋Š” ๋ฐ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š” ๋ ์ง€์กฐ์ฐจ ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๋‚˜์—๊ฒŒ ํ„ฐ๋ฌด๋‹ˆ์—†๋Š” ์†Œ๋ฆฌ.

๋“œ๋ฌผ๊ฒŒ (์™„์ „ํžˆ) ์ผ์–ด๋‚˜์•ผํ•œ๋‹ค๊ณ ํ•˜๋”๋ผ๋„ ๊ทธ๋Ÿฐ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ ์—†์ด๋Š” "ํ”„๋กœ๋•์…˜"์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๊ทธ๋ž˜๋„ ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๋ฐ”๋กœ ๊ทธ ์ž๋ฆฌ์—์žˆ์„ ๊ฒƒ์ด๊ณ  ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๋ณต์›ํ•˜๋ผ๋Š” ๋„์ „์„ ๋ฐ›๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ”๋กœ ๊ทธ ์‹œ์ ๊ณผ ์••๋ ฅ์ด _ ์‹œ์ž‘ํ•˜๋Š” ๋™์•ˆ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋  ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋‚˜ ๋ ์ง€ ์ „ํ˜€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค ._

@ozlatkov ์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ์—ฌ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ ๋„์ปค / ๋„์ปค ๋ฌธ์ œ ์ถ”์ ๊ธฐ์— ๊ฒŒ์‹œ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@ shin- ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋„์ปค / ๋„์ปค ์ถ”์ ๊ธฐ๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค.

https://github.com/docker/docker/issues/31333

Docker ํŒ€์ด Docker Swarm์ด ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ •๋ง ๋‚˜์˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Compose๋Š” ์™„์ „ํžˆ ๊ธฐ๋Šฅํ•˜๋Š” ๋…๋ฆฝ ์‹คํ–‰ ํ˜• ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ ํŒŒ์ดํ”„ ๋ผ์ธ์—์„œ Docker Compose๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ ์ œ๊ฑฐ (์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋Œ€์•ˆ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ)๋Š” ์‹ค์ œ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ทน์ ์ธ ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

์ €๋Š” ํ˜„์žฌ Compose 2.X์— ์˜์›ํžˆ ๋จธ๋ฌด๋ฅด๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ (์ด ๊ธฐ๋Šฅ์— ํฌ๊ฒŒ ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์—) ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ํŒ€์›์˜ ๋งค์šฐ ์ถ”์•…ํ•œ PR์„ ๊ฒ€ํ† ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Docker๋Š” ๋งŽ์€ ํŒ€์ด ์ด๋ฏธ ์˜์กดํ•˜๊ณ ์žˆ๋Š” ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜์—ฌ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์šฐ๋ฆฌ๊ฐ€ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์„์ฃผ๊ธฐ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ฒƒ์„ Docker Compose 3๋กœ ํฌํŒ…ํ•˜๋Š” ๊ฒƒ์„ ๋‹ค์‹œ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

๋งค์šฐ ๊ฐ์‚ฌ.

100 ๋ฒˆ์งธ : ์Šค์›œ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ ค๋Š” ๊ฒฝ์šฐ v3 ํ˜•์‹์„ ์‚ฌ์šฉํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํŒ€์ด compose๋ฅผ ๋…๋ฆฝํ˜• ๊ฐœ๋ฐœ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด 2.X ํ˜•์‹์„ ์ง€์›ํ•˜๊ธฐ๋กœ ์•ฝ์†ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๊นŒ?

์ •ํ™•ํžˆ ์ œ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. Compose ํŒ€์€ v2 ํ˜•์‹์„ ์˜์›ํžˆ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

v2 ํ˜•์‹์ด ์–ธ์ œ๋“ ์ง€ ์ง€์› ์ค‘๋‹จ ๋  ์˜ˆ์ •์ด๋ฉด Docker Compose์—์„œ ํ‘œ์ค€ํ™” ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ init container ํŒจํ„ด์œผ๋กœ ๊ฐ•์ œํ•˜๊ณ  ๋„์ปค ์žฌ์‹œ์ž‘ ์ •์ฑ…์„ ์ œ๊ฑฐํ•˜๋ฉฐ ์‹œ์ž‘ ์ˆœ์„œ์— ๋Œ€ํ•œ ํ•ดํ‚ค ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๋‚๋‹ˆ๋‹ค. > = v3 of compose๊ฐ€ ์Šคํƒ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฒˆ๋“ค ์ƒ์„ฑ์— ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•ด์ด ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ๋งž๋‹ค๋ฉด ๋„์ปค ์Šคํƒ์—์„œ ์‹œ์ž‘ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? wait-for-it.sh ๋˜๋Š” dockerize ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์Šคํƒ์— ๋Œ€ํ•œ docker-compose.yml์˜ ์„ ์–ธ์  ๋Œ€์‘์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š”, ๋„์ปค ์Šคํƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋„์ปค ์ž‘์„ฑ์„ ์ œ๊ฑฐํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๊ฒƒ์ด ํ•ด๊ฒฐ์ฑ… ์ธ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ผ์ข…์˜ ํ•ดํ‚ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์Šต๊ด€์ฒ˜๋Ÿผ ๋“ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ.

@mustafaakin ๋น„์ถ”์ฒœ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋งค์šฐ ์œ ์šฉํ•œ โค๏ธ

@VinceOPS "๋ชจ๋ฒ” ์‚ฌ๋ก€"์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ƒํƒœ ๊ฒ€์‚ฌ์™€ restart: always ์‚ฌ์šฉํ•ด ์™”์œผ๋ฏ€๋กœ ์ž‘๋™ ํ•  ๋•Œ๊นŒ์ง€ ์ˆœํ™˜ํ•ฉ๋‹ˆ๋‹ค ยฏ \ _ (ใƒ„) _ / ยฏ

@hutchic ๊ทธ๋Ÿฌ๋‚˜ ์œ„์˜ ๋Œ€ํ™”์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ข…๋ฃŒ ๋‚ ์งœ, ์ผ์ข…์˜ ์ˆœํ™˜ ์‹คํŒจ์‹œ ์žฌ์‹œ์ž‘์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Docker ํŒ€์ด ๋ฒ„์ „ 3์—์„œ์ด ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ถ”๊ฐ€๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@ tianhao-au๋Š” https://github.com/moby/moby/issues/31333 (๋ฐ https://github.com/moby/moby/issues/31333#issuecomment-409143581)์—์„œ ํ† ๋ก ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ž‘์„ฑ์„ ์œ„ํ•ด https://github.com/moby/moby/issues/31333#issuecomment -333265696์— ์ œ์•ˆ์„ ๋‚จ๊ฒผ์Šต๋‹ˆ๋‹ค ( x-depends_on )

์ด ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ์€ ๋ง ๊ทธ๋Œ€๋กœ ๋” ์ด์ƒ docker-compose๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜์—์„œ docker๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  dev ํ™˜๊ฒฝ์—์„œ ๋กœ์ปฌ๋กœ docker-compose๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด์ œ Docker ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ”„๋กœ๋•์…˜๊ณผ ๊ฐœ๋ฐœ์—์„œ ๊ทผ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋„๋กํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜์—์„œ๋Š” ๋ฐฐํฌ์˜ ์ƒํƒœ์™€ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์˜์—ญ์—์„œ๋Š” docker-compose๊ฐ€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ €๋Š” ์‹œ์Šคํ…œ์„ ์กฐ์œจํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ๋ฌผ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ฑฐ๋ผ๋ฉด ๋‚ด ๋„์ปค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๋๋‚ด๊ธฐ ์œ„ํ•ด golang์„ ์ž‘์„ฑํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์กฐ๊ธˆ ๋ถ€๋„๋Ÿฌ์›Œ์„œ ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋‚ด 2p ๋งŒ

๋ฏธ๋ž˜์— ๋Œ€๋น„ ํ•œ ์ตœ์‹  ๋„์ปค ์ž‘์„ฑ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ณ ์ด ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฑฐ ์Šฌํ”„๋„ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰