Compose: Compose์—์„œ ๋งŒ๋“  ์ปจํ…Œ์ด๋„ˆ์˜ ๊ธฐ๋ณธ ์ด๋ฆ„ ์ง€์ • ์ฒด๊ณ„

์— ๋งŒ๋“  2018๋…„ 11์›” 02์ผ  ยท  52์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/compose

์ด ๋ฒ„์ „์—์„œ Compose์— ์˜ํ•ด ์ƒ์„ฑ ๋œ ์ปจํ…Œ์ด๋„ˆ์˜ ๊ธฐ๋ณธ ์ด๋ฆ„ ์ง€์ • ์ฒด๊ณ„
<project>_<service>_<index> ์—์„œ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
<project>_<service>_<index>_<slug>

yaml ํŒŒ์ผ์—์„œ container_name ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์™ธ์—์ด ๋™์ž‘์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?
์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์— ์˜์กดํ•˜๊ณ  ์Šค์›œ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผ ์ปจํ…Œ์ด๋„ˆ ์Šคํƒ ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€ํ™”๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ๋งค์šฐ ๋ถˆํŽธํ•ฉ๋‹ˆ๋‹ค.

kinquestion

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

@ shin- ๊ฐœ์ธ์ ์œผ๋กœ ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๋„์ปค-์ž‘๊ณก ๋ฐ ๋„์ปค ํŒ€์€ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์ด ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ „์ฒด ์‚ฐ์—…์ด ์˜์กดํ•˜๋Š” ๋„๋ฆฌ ์ฑ„ํƒ ๋œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ด๋ฏธ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค.

์ฒซ์งธ, ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์€ ์ด์ „์— ๋ณด์žฅํ•˜์ง€ ์•Š์•˜๋˜ ๊ฒƒ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด ๋ฌผ๊ฑด์„ ์•„๋ฌด๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ์•„๋ฌด๋„ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—ญ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์€ ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์ด ์‹ค์ œ๋กœ ์˜์กดํ•˜๋Š” ๊ฒƒ์„ ๊นจ๋œจ๋ฆด ๋•Œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ๊ฒฐ๊ตญ Apache 2.0์ด๊ณ  ์ „์ฒด ํ”„๋กœ์ ํŠธ provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND ์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ๋ณด์žฅ์ด ์žˆ์—ˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์— ์˜์กดํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ๋ถ„ (์ „์ฒด ํŒ€)์€ ๋ˆ„๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€, ์™œ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ ํ•˜๋Š”์ง€๋ฅผ ์ธ์‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‘˜์งธ, ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๋ฅผ ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์— ๋„์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด "๋ฌด์ž‘์œ„ ์ ‘๋ฏธ์‚ฌ"๋Š” ์‚ฌ์šฉ์ž๊ฐ€ external_links ๋ฐ volumes_from ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ํ™•์‹คํžˆ ์†์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ช…์‹œ์ ์ธ container_name ์„ธํŠธ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๊ทธ๋ ‡๊ฒŒ ๋ณด์ผ ๋•Œ ์‚ฌ์šฉ ์ค‘๋‹จ ๊ฒฝ๊ณ ๋Š” ๋งค์šฐ ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฌธ์„œ๋Š” "๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…"์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ  ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์…‹์งธ, @ shin- ๋‹น์‹ ์€ ๊ฐœ์ธ์ ์œผ๋กœ ๋‹น์‹ ์˜ ํ”„๋กœ์ ํŠธ์— ์ง์ ‘ ๊ธฐ์—ฌํ•˜์ง€ ์•Š๊ณ  ๋‹น์‹ ์˜ ์‚ฌ์šฉ์ž ์ธ ์‚ฌ๋žŒ๋“ค๊ณผ ๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ํ–ฅํ›„ ๊ฐœ๋ฐœ์„ ์ดํ•ดํ•˜๊ณ  ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ๋” ๋งŽ์€ ์ž์›์„ ํˆฌ์žํ•˜์ง€ ์•Š์œผ๋ ค๋Š” ์œ ์ผํ•œ ํฌ๋ง์œผ๋กœ ์—ฌ๊ธฐ์—์„œ ์š”์ฒญ์„ ์ œ์ถœํ•˜๊ณ  ํ† ๋ก ์— ์ฐธ์—ฌํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์‹ญ์‹œ์˜ค.

๋„ท์งธ, Docker ํŒ€์€ Docker์—์„œ ๋ˆ์„ ๋ฒŒ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์ง€๋งŒ Docker ์ž์ฒด์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. Docker๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆ ํ•  ์ˆ˜์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ์ „์ฒด Docker ์ธํ”„๋ผ๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Œ์„ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํŒ€์ด ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„ ๋™์•ˆ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋“ฑ์„ ๋Œ๋ฆฌ๋ฉด ์‚ฌ์šฉ์ž ์„ฑ๊ณต์„ ์ง€ํ–ฅํ•˜๋Š” ์ œํ’ˆ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

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

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ด ์Šฌ๋Ÿฌ๊ทธ ๊ธฐ๋Šฅ์€ ์„ ํƒ ์‚ฌํ•ญ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. up ๋˜๋Š” build ๋ช…๋ น์— ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ๋„๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์–ด๋ ต์Šต๋‹ˆ๊นŒ?

๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์„ ํƒ ์‚ฌํ•ญ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์€ ์ด์ œ 1.22๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์„ ํƒ ์‚ฌํ•ญ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š”์ด ์Šฌ๋Ÿฌ๊ทธ ๊ธฐ๋Šฅ์ด ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋งŽ์€ bash ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ด์ „ ์ด๋ฆ„ โ€‹โ€‹์ง€์ • ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. "volumes from"๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์ด์ „ ์ด๋ฆ„ โ€‹โ€‹์ง€์ • ์ฒด๊ณ„์— ์˜์กดํ•˜๋ฏ€๋กœ 1.22๋ฅผ ์œ ์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. 1.24์—์„œ ์˜ต์…˜ ๊ธฐ๋Šฅ์œผ๋กœ ๋งŒ๋“œ์‹ญ์‹œ์˜ค.

์ด ๊ธฐ๋Šฅ์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์—…์—… ๋œ ํ›„ ์ฐธ์กฐํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋‚˜๋Š”์ด ๋ณ€ํ™”์˜ ์š”์ ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค. ํ˜„์žฌ docker๋„ compose๋„ ์„œ๋น„์Šค ๊ฒ€์ƒ‰์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์–ป์œผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ๋‚˜๋งŒ์˜ ์„œ๋น„์Šค ๊ฒ€์ƒ‰์„ ๋กค๋ง ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

BTW,์ด ๋ณ€๊ฒฝ์˜ ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ •๋ง ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆด ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ธฐ๋ณธ _slug ์ด๋ฆ„ ๋ณ€๊ฒฝ์€ ์˜ฌ๋ฐ”๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์ด์ง€๋งŒ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋˜๋Š” ๋ช…๋ น ์ค„ ์˜ต์…˜์„ ํ†ตํ•ด์ด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฉด ๊ธฐ์กด ์›Œํฌ ํ”Œ๋กœ๊ฐ€ ๋งŽ์ด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. <= 1.22.0 docker-compose ์ด๋ฆ„ ์ง€์ • ๋™์ž‘์„ ๋‹ค์‹œ ๊ฐ€์ ธ ์˜ค๊ธฐ ์œ„ํ•ด ์ผ์ข…์˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ ์š”์ฒญ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ์‹œ์˜ค.

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. "external_links"๋Š” ์ง€๊ธˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฆ„์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค.
์„ ํƒ ์‚ฌํ•ญ ์ธ ๊ฒฝ์šฐ +1

@ shin-์ด ์ƒˆ๋กœ์šด ํ–‰๋™์€ ์™„์ „ํžˆ ํํ—ˆ๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ž„์˜์˜ slug ์ „์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ํŒŒ์ผ ๋‚ด์—์„œ ํ•˜๋‚˜์˜ docker-compose ํŒŒ์ผ์—์„œ ์‹œ์ž‘๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

services:
  app:
    image: app
    external_links:
      - "other-project_other-app_1:other-app"
networks:
  default:
    external:
      name: other-project_default

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒŒ ๋‹ค์•ผ. ์ด์ œ ์ด๊ฒƒ์€ ์ „ํ˜€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ ์–ด๋„ ์„ ํƒ ์‚ฌํ•ญ์ด ์•„๋‹Œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋„์ปค์˜ ๋˜ ๋‹ค๋ฅธ ๋‹จ๊ณ„๋Š” ์ฃฝ์Œ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. container_name ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š”์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ๋˜๊ณ  slug ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ ์–ด๋„ ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค.

@ shin-, ์ด์— ๋Œ€ํ•œ ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค slug ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” container_name . ๊ทธ๋Œ€๋กœ ๋‘์‹ญ์‹œ์˜ค. ๋‚˜๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์—ฌ๊ธฐ์— ํฌ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์ธ์„ผํ‹ฐ๋ธŒ๋Š” ์ดํ•ดํ•˜์ง€๋งŒ, ํŠนํžˆ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์กฐ์ •ํ•  ์‹œ๊ฐ„์„ ์ค„ ์ˆ˜์žˆ๋Š” ์œ ์˜ˆ ๊ธฐ๊ฐ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์˜์›ํžˆ ์กด์žฌํ•˜๋Š”์ด ๋ช…๋ช… ๊ทœ์น™์„ ์—ผ๋‘์—๋‘๊ณ  ๋งŽ์€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ์ด ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด docker-compose 1.23์€ ๋‹ค๋ฅธ docker-compose์™€ ์—ญ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@ shin- ๊ฐœ์ธ์ ์œผ๋กœ ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๋„์ปค-์ž‘๊ณก ๋ฐ ๋„์ปค ํŒ€์€ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์ด ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ „์ฒด ์‚ฐ์—…์ด ์˜์กดํ•˜๋Š” ๋„๋ฆฌ ์ฑ„ํƒ ๋œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ด๋ฏธ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค.

์ฒซ์งธ, ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์€ ์ด์ „์— ๋ณด์žฅํ•˜์ง€ ์•Š์•˜๋˜ ๊ฒƒ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด ๋ฌผ๊ฑด์„ ์•„๋ฌด๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ์•„๋ฌด๋„ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—ญ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์€ ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์ด ์‹ค์ œ๋กœ ์˜์กดํ•˜๋Š” ๊ฒƒ์„ ๊นจ๋œจ๋ฆด ๋•Œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ๊ฒฐ๊ตญ Apache 2.0์ด๊ณ  ์ „์ฒด ํ”„๋กœ์ ํŠธ provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND ์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ๋ณด์žฅ์ด ์žˆ์—ˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์— ์˜์กดํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ๋ถ„ (์ „์ฒด ํŒ€)์€ ๋ˆ„๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€, ์™œ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ ํ•˜๋Š”์ง€๋ฅผ ์ธ์‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‘˜์งธ, ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๋ฅผ ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์— ๋„์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด "๋ฌด์ž‘์œ„ ์ ‘๋ฏธ์‚ฌ"๋Š” ์‚ฌ์šฉ์ž๊ฐ€ external_links ๋ฐ volumes_from ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ํ™•์‹คํžˆ ์†์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ช…์‹œ์ ์ธ container_name ์„ธํŠธ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๊ทธ๋ ‡๊ฒŒ ๋ณด์ผ ๋•Œ ์‚ฌ์šฉ ์ค‘๋‹จ ๊ฒฝ๊ณ ๋Š” ๋งค์šฐ ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฌธ์„œ๋Š” "๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…"์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ  ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์…‹์งธ, @ shin- ๋‹น์‹ ์€ ๊ฐœ์ธ์ ์œผ๋กœ ๋‹น์‹ ์˜ ํ”„๋กœ์ ํŠธ์— ์ง์ ‘ ๊ธฐ์—ฌํ•˜์ง€ ์•Š๊ณ  ๋‹น์‹ ์˜ ์‚ฌ์šฉ์ž ์ธ ์‚ฌ๋žŒ๋“ค๊ณผ ๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ํ–ฅํ›„ ๊ฐœ๋ฐœ์„ ์ดํ•ดํ•˜๊ณ  ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ๋” ๋งŽ์€ ์ž์›์„ ํˆฌ์žํ•˜์ง€ ์•Š์œผ๋ ค๋Š” ์œ ์ผํ•œ ํฌ๋ง์œผ๋กœ ์—ฌ๊ธฐ์—์„œ ์š”์ฒญ์„ ์ œ์ถœํ•˜๊ณ  ํ† ๋ก ์— ์ฐธ์—ฌํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์‹ญ์‹œ์˜ค.

๋„ท์งธ, Docker ํŒ€์€ Docker์—์„œ ๋ˆ์„ ๋ฒŒ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์ง€๋งŒ Docker ์ž์ฒด์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. Docker๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆ ํ•  ์ˆ˜์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ์ „์ฒด Docker ์ธํ”„๋ผ๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Œ์„ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํŒ€์ด ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„ ๋™์•ˆ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋“ฑ์„ ๋Œ๋ฆฌ๋ฉด ์‚ฌ์šฉ์ž ์„ฑ๊ณต์„ ์ง€ํ–ฅํ•˜๋Š” ์ œํ’ˆ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

์ด๊ฒƒ์€ ์ฃผ์š” ๋ฒ„์ „์„ ๊นจ๋Š” ๋ณ€๊ฒฝ์˜ ๋”์ฐํ•œ ๊ตฌํ˜„์ด๋ฉฐ, ์šฐ๋ฆฌ์˜ ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋Šฅ๋ ฅ์„ ์™„์ „ํžˆ ๋ง๊ฐ€ ๋œจ๋ฆฌ๊ณ , ์‚ฌ์ „ ๊ฒฝ๊ณ ๊ฐ€ ์ „ํ˜€์—†์ด ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋ ์ง€ ์ƒ์ƒ์กฐ์ฐจ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ˆ˜๋™์œผ๋กœ docker์˜ ์ตœ์‹  ๋ณ€๊ฒฝ ๋กœ๊ทธ๋ฅผ ์ฐพ์ง€ ์•Š๋Š” ํ•œ, ๊ทธ๋“ค์€ ์ด๊ฒƒ์— ๋Œ€ํ•ด ์ „ํ˜€ ๋ชจ๋ฅด๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ๊ทธ๋ ‡๊ฒŒํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

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

docker-compose container_name ์ง€์‹œ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ GitLab์— ์ ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ Mac Os Mojave์˜ ์ตœ์‹  ๋ฒ„์ „ docker-compose ์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. :)

๋‚ด .gitlabci.yml ํŒŒ์ผ์ด tmaier ์—์„œ ๋งˆ์ง€๋ง‰ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (1.23.1์ด์–ด์•ผ ํ•จ).

์•ˆ๋…•ํ•˜์„ธ์š”, ์—ฌ๊ธฐ์— ํ‘œํ˜„ ๋œ ๋ช‡ ๊ฐ€์ง€ ์šฐ๋ ค ์‚ฌํ•ญ์„ ํ•ด๊ฒฐํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค.

  • ๋‚˜๋Š” ์ด๊ฒƒ์ด ์ผ๋ถ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊นจ๋œจ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์‹คํžˆ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. 1.23.0-rc1 ์ดํ›„์˜ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ ๋Š” ๋งจ ์œ„์— ๊ทธ๋ ‡๊ฒŒ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ˆœ๊ฐ„์ ์ธ ๊ณ ํ†ต์ด ์šฐ๋ฆฌ๊ฐ€ ๋” ๊ฑด๊ฐ•ํ•œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ „์ง„ํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๋Š” "๋ฐ˜์ฐฝ๊ณ ๋ฅผ ๋–ผ์–ด๋‚ด๋Š”"์œ ํ˜•์˜ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ์†”๋ฃจ์…˜์˜ ์ด์ ์€ ๋‹ค์–‘ํ•˜๋ฉฐ์ด ์˜ค๋žœ ๋ฌธ์ œ์—์„œ ๋ถ€๋ถ„์ ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. # 1516-ํŠนํžˆ docker-compose run ๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. # 4688 # 4549 # 5240
  • ์„œ๋น„์Šค ๊ฒ€์ƒ‰์€ ๊ด€๋ จ ๋„คํŠธ์›Œํฌ์—์„œ ์ •์  ์ธ ์„œ๋น„์Šค ์ด๋ฆ„ (์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์ด ์•„๋‹Œ) ๋ฐ ๋„คํŠธ์›Œํฌ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋„คํŠธ์›Œํ‚น ๋ฌธ์„œ ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋กœ ์ธํ•ด Compose ํ”„๋กœ์ ํŠธ์—์„œ volumes_from ๋ฐ external_links ์‚ฌ์šฉ์ด ๋” ์–ด๋ ค์›Œ ์ง„๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ ์ด์ „์—๋„ Compose๊ฐ€ ์ฃผ์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ (์˜ˆ : # 6155 ๋˜๋Š” # 3415์— ์–ธ๊ธ‰ ๋œ ์ ‘๋‘์‚ฌ ์ฐธ์กฐ)์— ๋Œ€ํ•ด "์˜ˆ์ƒ ๋œ"ํ˜•์‹์„ ์กด์ค‘ํ•œ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒฐํ•จ์ด์žˆ๋Š” ์†”๋ฃจ์…˜์ด๋ฉ๋‹ˆ๋‹ค. ์žฅ๊ธฐ์ ์œผ๋กœ ๋ชจํ˜ธํ•œ ๋ฌธ์ œ๋กœ.

    • ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ†ต์‹  ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๊ถŒ์žฅ ๋ฐฉ๋ฒ•์€ external ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ๋‹ค๋ฅธ ์„œ๋น„์Šค์˜ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ volumes_from ๋Œ€์‹  external ๋ช…๋ช… ๋œ ๋ณผ๋ฅจ์„ ํ™œ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

  • ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์–ด๋–ป๊ฒŒ ๋” ์ž˜ ์ „๋‹ฌ ๋  ์ˆ˜ ์žˆ์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ œ์•ˆ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ 9 ์›” 26 ์ผ์— ์ถœ์‹œ ๋œ 1.23.0-rc1 ์ดํ›„๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถœ์‹œ ๋…ธํŠธ์— ๋‚˜์™€ ์žˆ์œผ๋ฉฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 1.23.0 GA๋Š” ํ•œ ๋‹ฌ ์ด์ƒ ๋’ค์— ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Œ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋กœ๊ทธ์˜ ๋งจ ์œ„์— ํฐ ๊ฒฝ๊ณ ๋กœ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€ํ™”๋ฅผ ๊ฐ€์‹œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฐ€ ํ•  ์ˆ˜์žˆ๋Š” ์ผ์ด ๋” ์žˆ๋‹ค๋ฉด, ๋‹ค์Œ ๋ฒˆ์— ์ด์™€ ๊ฐ™์€ ์œ„ํ—˜ํ•œ ๋ณ€ํ™”๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๊ฒฝ์ฒญํ•˜๊ณ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฒŒ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

    • ๋ฐ˜๋Œ€๋กœ, ์—ฌ๊ธฐ์„œ ์ผ๋ฐ˜์ ์ธ ์š”์ ์ด "์ ˆ๋Œ€ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์•„๋‹ˆ๋ฉด ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๋ฌด๊ธฐํ•œ ์˜ตํŠธ ์•„์›ƒํ•˜๋„๋ก ๋†”๋‘์‹ญ์‹œ์˜ค"๋ผ๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ ์ด๊ฒƒ์ด ๊ฑด๊ฐ•ํ•˜๊ณ  ํ•ฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ๊ณ„์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ Docker Engine ๋ฒ„์ „, Compose ํŒŒ์ผ ํ˜•์‹ ๋ฐ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ด€์šฉ๊ตฌ์™€์˜ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ ์žˆ๋Š” Compose ํฌ๊ธฐ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ์ €๋Š” ์ด๊ฒƒ์ด ๋งŽ์€ ๋ถ„๋“ค์—๊ฒŒ ์ค‘๋Œ€ํ•œ ๊ณผ์† ์ถฉ๋Œ์ด๋ฉฐ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์„ ์ฒ˜๋ฆฌ ํ•  ๋•Œ ํ™”๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์Œ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ ๊ฐ–๊ณ  ๋‹น๋ถ„๊ฐ„ Compose ๋ฒ„์ „์„ ๊ณ ์ •ํ•˜์‹ญ์‹œ์˜ค. "์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์—†์ด XYZ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?"์™€ ๊ฐ™์€ ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๊ธฐ๊บผ์ด ๋„์™€ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋•Œ๊นŒ์ง€๋Š”์ด ์Šค๋ ˆ๋“œ ๋˜๋Š” Slack์—์„œ. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ํฌ๋Ÿผ์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ๋ฐฐ๋ คํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ์ •๋ณด๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ๋‹ค์‹œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค (์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ๊ด€๋ จ์ด์—†๋Š” ๋ช‡ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์–ธ๊ธ‰๋˜๊ฑฐ๋‚˜ ๋ฆฌ๋””๋ ‰์…˜๋˜๋Š” ๊ฒƒ์„ ์ด๋ฏธ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. , ๋ถˆํ•„์š”ํ•œ ๊ฒฝ๊ฐ์‹ฌ์„ ๋ถˆ๋Ÿฌ ์ผ์œผํ‚ค๊ณ  ์—ฌ๊ธฐ๋กœ ์˜คํ•ด๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค์„ ๋•์ง€ ์•Š์Šต๋‹ˆ๋‹ค.) ๋Œ€ํ™”๋ฅผ ๋ฐฉํ•ดํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์‹œ๊ฐ„๊ณผ ์ธ๋‚ด์‹ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ถ€๋ถ„์—์„œ๋Š” ์ด์™€ ๊ฐ™์€ ๋ณ€๊ฒฝ์ด ์‚ฌ์ „์— ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ฑ„๋„์„ ํ†ตํ•ด ์ „๋‹ฌ๋˜๊ณ  ์„ค๋ช…๋˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ์ด ์Šค๋ ˆ๋“œ์—์„œ ๋ฐฉ๊ธˆ ์ˆ˜ํ–‰ ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ด์œ ์™€ ์ง€๊ธˆํ•ด์•ผ ํ•  ์ผ์„ ์„ค๋ช…ํ•˜์ง€๋งŒ ์ด์ „์— ์ˆ˜ํ–‰ ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“  ์—ฌํŒŒ.

@ shin- ๋‚ด๊ฐ€ ์ œ๊ณต ํ•œ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๊ณผ ๋งํฌ๋ฅผ ์ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ?

๋งˆ์ง€๋ง‰ ์‚ฌ๋žŒ์€ ์นœ์ ˆ ํ•ด ๋ณด์ด์ง€๋งŒ ๋˜‘๊ฐ™์€ ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค.

์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์–ด๋–ป๊ฒŒ ๋” ์ž˜ ์ „๋‹ฌ ๋  ์ˆ˜ ์žˆ์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ œ์•ˆ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

TL; DR

  • docker-compose.yml ์˜ ์ƒˆ๋กœ์šด version ์†Œ๊ฐœ
  • ์—…๋ฐ์ดํŠธ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž๋ฅผ์œ„ํ•œ ์ƒ˜ํ”Œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฌธ์„œ ๋งํฌ์™€ ํ•จ๊ป˜ external_links DeprecationWarning ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ ๋ฒ„์ „ ์ด์ „์˜ ๋ชจ๋“  ์ž‘์„ฑ ํŒŒ์ผ ํ˜•์‹ ๋ฒ„์ „์— ๋Œ€ํ•ด ์ด์ „ ๋™์ž‘์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ์—์„œ ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ๋กœ๊ทธ๋Š” ๊ธฐ์—ฌ์ž์—๊ฒŒ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ทธ๊ฒƒ์„ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ docker-compose ํ•˜๊ณ  ์–ด์ œ ์ดํ›„์—๋„ ์ž‘๋™ํ•˜๊ธฐ๋ฅผ๊ธฐ๋„ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ, ์—ฌ๊ธฐ์„œ ์ผ๋ฐ˜์ ์ธ ์š”์ ์ด "์ ˆ๋Œ€ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์•„๋‹ˆ๋ฉด ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๋ฌด๊ธฐํ•œ ์˜ตํŠธ ์•„์›ƒํ•˜๋„๋ก ๋†”๋‘์‹ญ์‹œ์˜ค"๋ผ๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ ์ด๊ฒƒ์ด ๊ฑด๊ฐ•ํ•˜๊ณ  ํ•ฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ๊ณ„์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ Docker Engine ๋ฒ„์ „, Compose ํŒŒ์ผ ํ˜•์‹ ๋ฐ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ด€์šฉ๊ตฌ์™€์˜ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ ์žˆ๋Š” Compose ํฌ๊ธฐ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ด๋ฏธ "์–ด๋–ค ์ค‘์š”ํ•œ ๋ณ€๊ฒฝ๋„ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์•„๋‹ˆ๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ๋ฌด๊ธฐํ•œ ์˜ตํŠธ ์•„์›ƒํ•˜๋„๋ก ๋†”๋‘์‹ญ์‹œ์˜ค"๋ผ๊ณ  ์ด๋ฏธ ๋ณด์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. docker-compose.yml ํŒŒ์ผ์˜ version ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๋˜๋Œ๋ฆฌ๊ณ  ๋‹ค์Œ version ๋ฒˆํ˜ธ์— ๋„์ž…ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

"์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์—†์ด XYZ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?"์™€ ๊ฐ™์€ ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๊ธฐ๊บผ์ด ๋„์™€ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋•Œ๊นŒ์ง€๋Š”์ด ์Šค๋ ˆ๋“œ ๋˜๋Š” Slack์—์„œ.

์ด ์Šค๋ ˆ๋“œ์˜ ๋‹ค๋ฅธ docker-compose.yml ์—์„œ external_links ๋ฐ container_name ์ •์˜๋˜์ง€ ์•Š์€ ์™ธ๋ถ€ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค (ํ•ญ์ƒ ์ž‘๋™ํ•˜์ง€๋Š” ์•Š์Œ).

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

๋Œ€ํ™”๋ฅผ ๋ฐฉํ•ดํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค

@ shin- ์ง€๊ธˆ๊นŒ์ง€ ์ฝ์€ ๋ชจ๋“  ๋Œ€ํ™”๋Š” ์‚ฌ๋žŒ๋“ค์ด ๊ฐ€์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ฌด๊ฒƒ๋„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํƒˆ์„ ๋ฉ๋‹ˆ๋‹ค.

์ง„์ง€ํ•˜๊ฒŒ, ์ด๋Ÿฌํ•œ ํƒœ๋„๋กœ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋Š์ž„์—†์ด ๊ฑฐ๋ถ€ํ•˜๊ณ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๋” ์ž˜ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•  ์ˆ˜์žˆ์„ ๋•Œ ์ปค๋ฎค๋‹ˆํ‹ฐ ํˆฌ์Ÿ์„ ๊ฐ•์š”ํ•ฉ๋‹ˆ๋‹ค.

์ถ”์‹  : ๋‹ค๋ฅธ "์ฃผ์ œ์—์„œ ๋ฒ—์–ด๋‚œ"์ฝ”๋ฉ˜ํŠธ์— ๋Œ€ํ•ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ๋„ ์ต์ˆ™ํ•˜๋ฏ€๋กœ์ด ๋ฌธ์ œ๋ฅผ ์ž ๊ทธ์‹ญ์‹œ์˜ค.

์ด ์Šค๋ ˆ๋“œ์˜ ๋‹ค๋ฅธ docker-compose.yml์—์„œ container_name์ด ์ •์˜๋˜์ง€ ์•Š์€ ์™ธ๋ถ€ ๋งํฌ ๋ฐ ์™ธ๋ถ€ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค (ํ•ญ์ƒ ์ž‘๋™ํ•˜์ง€๋Š” ์•Š์Œ).

์ด๋ฏธ ๊ทธ๋žฌ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์˜๊ฒฌ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ†ต์‹ ํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๊ถŒ์žฅ ๋ฐฉ๋ฒ•์€ external ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ๋‹ค๋ฅธ ์„œ๋น„์Šค์˜ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ volumes_from ๋Œ€์‹  external ๋ช…๋ช… ๋œ ๋ณผ๋ฅจ์„ ํ™œ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋จธ์ง€ ๊ฒŒ์‹œ๋ฌผ์€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ ๋Œ€์ ์ด๋ฏ€๋กœ ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—ฌ๊ธฐ ์žˆ๊ณ  ํ† ๋ก ์„ ํ•  ์˜ํ–ฅ์ด ์žˆ์ง€๋งŒ ๋‹น์‹ ์˜ ๊ดด๋กญํž˜์„ ๋ฐ›์•„ ๋“ค์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์†”์งํžˆ @ shin-

์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์–ด๋–ป๊ฒŒ ๋” ์ž˜ ์ „๋‹ฌ ๋  ์ˆ˜ ์žˆ์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ œ์•ˆ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด "๊ด€์‹ฌ"์ด์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž‘์„ฑ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๊ณ  "์ŠคํŒธ"(์›ƒ์Œ)์œผ๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ ์˜ค๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ํ‹ฐ์ผ“์„ ๋‹ซ์œผ๋ฉด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ œ์•ˆํ•˜๋Š” ๋‚ด์šฉ์— ํ™•์‹คํžˆ ๊ด€์‹ฌ์ด ์—†์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์„ ์ด๋ฃจ๊ณ  ์‹ถ์€์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€์˜ ๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ดํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์—ฌ๊ธฐ ์žˆ๊ณ  ํ† ๋ก  ํ•  ์˜ํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค

์šฐ๋ฆฌ๊ฐ€ ์ˆœ์ˆ˜ํ•œ ๊ณต๋• ์  ์ฃผ์žฅ์„ ์ œ๊ณตํ•˜๋”๋ผ๋„ ๋ฌด์‹œํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์™œ ๊ท€์ฐฎ๊ฒŒ?

์ถ”์‹ . ์ด๊ฒƒ์„ ์ฃผ์ œ์—์„œ ๋ฒ—์–ด๋‚œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ๊ณ„์†ํ•ด์„œ ์šฐ๋ฆฌ์˜ ์˜๊ฒฌ์„ ์กด์ค‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ์‹ญ์‹œ์˜ค. ์„œ๋กœ ๋‹ค๋ฅธ ์˜๊ฒฌ์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๋งŽ์€ ์ฐฌ์„ฑ ํˆฌํ‘œ๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด ์•„ํŒŒ์š”?

์ด๋ฏธ ๊ทธ๋žฌ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์˜๊ฒฌ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ž‘๋™ํ•˜๋Š” ์ƒ˜ํ”Œ ์†”๋ฃจ์…˜์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋จธ์ง€ ๊ฒŒ์‹œ๋ฌผ์€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ ๋Œ€์ ์ด๋ฏ€๋กœ ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—ฌ๊ธฐ ์žˆ๊ณ  ํ† ๋ก ์„ ํ•  ์˜ํ–ฅ์ด ์žˆ์ง€๋งŒ ๋‹น์‹ ์˜ ๊ดด๋กญํž˜์„ ๋ฐ›์•„ ๋“ค์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ธฐ๋ถ„์ด ๋“ ๋‹ค๋ฉด. ํ˜„์žฌ docker compose ํŒŒ์ผ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ด์ „ ๋™์ž‘์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ ํ•  ์ƒˆ๋กœ์šด ํ˜•์‹ ๋ฒ„์ „์„ ๋„์ž…ํ•˜์‹ญ์‹œ์˜ค. ์ด๊ฒƒ์€ ์‚ฌ์šฉ์ž์ธต์— ์ข‹์€ ์†”๋ฃจ์…˜์„ ์ œ๊ณต ํ•  ์ˆ˜์žˆ๋Š” ์œ ์ผํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

๋ถ€๋””. ๋‚ด๊ฐ€ ๋‹น์‹ ์˜ ๋งˆ์Œ์— ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ๊บผ์ด ๋•๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ์ด ๋‘ ๊ฐœ์˜ ๋‚ด ์˜๊ฒฌ์„ ๋‹ค์‹œ ์ฝ๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

Re the communication : ์šฐ๋ฆฌ๋Š” Mac ์šฉ Docker๋ฅผ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•˜๋Š”๋ฐ,์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ง€์ ํ•˜๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ณ€๊ฒฝ ๋กœ๊ทธ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์•˜์œผ๋ฏ€๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋œ ์ด์œ ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ ๋‚˜๋Š” ์ด๊ฒƒ์„ v1์—์„œ v3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋Œ€์‹  ์„œ๋น„์Šค ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐํšŒ๋กœ ์‚ผ์•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ํ›จ์”ฌ ๋” ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค ๐Ÿ‘

FWIW, compose์— ์˜ํ•ด ์ƒ์„ฑ ๋œ ์ปจํ…Œ์ด๋„ˆ์—์„œ exec์— ๋Œ€ํ•œ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋Š” ํ•ดํ‚น :

docker container exec -it $(docker container ls -f name=expected -q) cmd

์ด ์‚ฌ์‹ค์„ ์•Œ์•˜์„ ๋•Œ ๊ตฌ์„ฑ์„ v1์—์„œ v3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋Œ€์‹  ์„œ๋น„์Šค ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐํšŒ๋กœ ์‚ผ์•˜๊ณ  ์‹ค์ œ๋กœ ํ›จ์”ฌ ๋” ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ docker-compose ํŒŒ์ผ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์—ฐ๊ฒฐํ•˜๋Š” ์„œ๋น„์Šค ์ด๋ฆ„์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ์—ฌ๊ธฐ์— ์ œ๊ณตํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

docker container exec -it $(docker container ls -f name=expected -q) cmd

์ด๊ฒƒ์€ docker-compose์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

@lig ์ด๊ฒƒ์€ docker-compose์— ์˜ํ•ด ์ƒ์„ฑ ๋œ expected ์ด๋ฆ„์˜ ๋ณ€๊ฒฝ์„ ์ค‘์‹ฌ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ช…๋ช… ์ฒด๊ณ„๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@joebowbeer ์ด ๋ณ€๊ฒฝ ํ›„ ์ฃผ์š” ๋ฌธ์ œ๋Š” docker-compose ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. docker cmd๋ฅผ ํ†ตํ•ด docker-compose๊ฐ€ ์‹œ์ž‘ํ•œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์ฃผ์ œ์— ๋Œ€ํ•œ ์•ฝ๊ฐ„์˜ ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค.

@ shin- ๋‚˜๋Š” ์šฐ๋ฆฌ ๋ชจ๋‘๊ฐ€ ์™œ ์šฐ๋ฆฌ๊ฐ€ ์Šค์›œ ๋ผ์ธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด docker composer๊ฐ€ ํ•„์š”ํ•œ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ฒŒ๋Š” ์ •์ƒ ์ƒํƒœ์—์žˆ๋Š” ๋ˆ„๊ตฌ๋„ ์ œ์ž‘ ๋ชฉ์ ์œผ๋กœ ์ž‘๊ณก๊ฐ€๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. Compose๋Š” ๋กœ์ปฌ์—์„œ ํ…Œ์ŠคํŠธ ํ•  ํ”„๋กœ์ ํŠธ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋กœ์ปฌ ์ „์šฉ ํ…Œ์ŠคํŠธ์— ๋Œ€๋Ÿ‰์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ์— docker swarm perk / ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋งค๋ ฅ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์šฉ๊ธฐ์— ๋–ผ์™€ ๊ฐ™์€ ์ด๋ฆ„์ด ํ•„์š”ํ•˜๋ฉด ๋–ผ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ถŒ๋ฆฌ?

์—ฌ๊ธฐ์„œ ๋‘ ๋ฒˆ์งธ ํฐ ์งˆ๋ฌธ์€ ์™œ ์ด๊ฒƒ์ด ์ธ์ˆ˜๋ฅผ ํ†ตํ•ด ์˜ต์…˜ ๊ธฐ๋Šฅ์œผ๋กœ ํฌํ•จ๋˜์ง€ ์•Š์•˜๋Š”๊ฐ€์ž…๋‹ˆ๋‹ค. ๋‚ด ํฌ๋Ÿผ๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ์ด ๋™์ž‘์„ ๊ธฐ๋ณธ ๋™์ž‘์œผ๋กœ ํ˜ธ์†Œํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์„ ์ƒˆ๋กœ์šด arg : docker-compose up --slug ๋กœ ๋„์ž…ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ณ  ์šฐ์•„ํ•˜๋ฉฐ ๋ˆ„๊ตฌ์˜ ์Šคํฌ๋ฆฝํŠธ๋„ ๊นจ๋œจ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  * On the flipside, if the general takeaway here is "don't make any breaking change ever, or let me opt out of all of them indefinitely", I'm sure most of you realize that it's not a healthy, reasonable way to go about maintaining a software project the size of Compose, which already jumps through a lot of hoops to maintain backward-compatibility with a wide array of Docker Engine versions, Compose file formats, and deprecated idioms.

๊ณผ๊ฑฐ์—๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์—์„œ ์ž‘์—… ํ•  ๋•Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด "๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ฒ„์ „"๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝํ–ฅ์ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ์ง€์› ์ค‘๋‹จํ•˜๊ณ  ๋‹ค์Œ์—๋Š” ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ด๊ฒƒ์ด ์˜ตํŠธ ์ธ์ด ๋  ์ˆ˜ ์žˆ์—ˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, _ ์ž„์‹œ _ ์˜ตํŠธ ์•„์›ƒ์€ ์ •๋ง ๊ฐ์‚ฌํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Docker-compose์—๋Š” ์ฃผ ๋ฒ„์ „์˜ ๊ฐœ๋…์ด์—†๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ผ์‹œ์ ์ธ "disable this"์˜ต์…˜ (๋ช…๋ น ์ค„์—์„œ๋“  ์ž‘์„ฑ ํŒŒ์ผ์—์„œ๋“ )์ด ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ์˜ ๋ฆด๋ฆฌ์Šค (1.23 ๋ฐ ๊ฐ€๋Šฅํ•˜๋ฉด 1.24) "๋ฌด๊ธฐํ•œ"์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

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

์ด ์ค‘๋Œ€ํ•œ ๋ณ€ํ™”๋Š” ์žฌ์•™์ž…๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ๋งŽ์€ ์ž๋™ ๋ฐฐํฌ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ๋Š” ๊ทธ๋Ÿฌ์ง€ ๋งˆ์„ธ์š”.

* Introduce the new `version` of the `docker-compose.yml` 
* Add `DeprecationWarning` for `external_links` with a link to a document which describes the update and provides a sample solution for those willing to migrate.
* Support the old behavior for all compose file format versions prior the new one.

๋„ˆ๋ฌด ๋ง์ด ๋˜๋„ค์š” ... ์™œ ์ด๋Ÿฐ ์‹์œผ๋กœํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”.

๋‚˜๋Š” ์—ฌ๊ธฐ ์žˆ๊ณ  ํ† ๋ก ์„ ํ•  ์˜ํ–ฅ์ด ์žˆ์ง€๋งŒ ๋‹น์‹ ์˜ ๊ดด๋กญํž˜์„ ๋ฐ›์•„ ๋“ค์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

@ shin- ์ œ์‹œ๋œ ํ•ฉ๋ฆฌ์ ์ธ ์ œ์•ˆ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์— ํ† ๋ก ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ดด๋กญํž˜์„๋‹นํ•˜๋Š” ๊ฒฝ์šฐ-๋‹น์‹ ์€-์ด ์ค‘๋Œ€ํ•œ ๋ณ€ํ™”๋กœ ์ „ ์„ธ๊ณ„์˜ ์ˆ˜๋งŽ์€ ๊ฐœ๋ฐœ์ž๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ดด๋กญํžˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

๊ทธ๋“ค์ด ๊ฐ‘์ž๊ธฐ ์šฐ๋ฆฌ ๋ฌผ๊ฑด์„ ๋ถ€์ˆ˜ ์ง€ ์•Š๋„๋ก docker-compose๋ฅผ ๊ณ ์ •์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์— ์Šฌ๋Ÿฌ๊ทธ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋น„ํ™œ์„ฑํ™” ๋  ์ˆ˜์žˆ๋Š” docker-compose.yml ํŒŒ์ผ์— ์ƒˆ๋กœ์šด ๊ตฌ์„ฑ ์˜ต์…˜์„ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

s / ๋น„ํ™œ์„ฑํ™” / ํ™œ์„ฑํ™” /. ์ตœ์†Œํ•œ ๊ธฐ์กด ์ž‘์„ฑ ํŒŒ์ผ ๋ฒ„์ „์—์„œ.

์ด ๋™์ž‘์€ ์ž‘์„ฑ ํŒŒ์ผ์˜ ๋ฒ„์ „ ๋ฒˆํ˜ธ์— ์—ฐ๊ฒฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด ๋™์ž‘์ด "์ง€์ •"๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ๋งค์šฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์ž…๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ๋•Œ compose ํŒŒ์ผ์ด ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ด ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋ฐ ์™œ ๊ทธ ์‹œ์ ์—์„œ ์‚ฌ์–‘์„ ๋ฒ„์ „ ํ™”ํ•ฉ๋‹ˆ๊นŒ? compose ํŒŒ์ผ ์‚ฌ์–‘์„ ๋น„์ถ”์ฒœ (๋ฌผ๋ก  docker-compose ์ด ์‹คํ–‰๋  ๋•Œ ๋งŽ์€ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋จ)ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋ฉด ๋‚ด ๋ชจ๋“  ํ•ญ๋ชฉ์ด ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š์ง€๋งŒ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ฝ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ์–ผ๊ตด์— ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ์ธ์‡„ ํ•  ์ˆ˜์žˆ๋Š” ๊ถŒํ•œ์ด์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ?

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

์ด๊ฒƒ์€ ์ผ๊ด€์„ฑ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์žฅ์น˜ ์ด๋ฆ„ ์ง€์ • ์ด Linux์—์„œ ๋„๋ฆฌ ์ฑ„ํƒ๋˜์—ˆ์„ ๋•Œ๋ฅผ ์ƒ๊ฐ ๋‚˜๊ฒŒํ•ฉ๋‹ˆ๋‹ค (๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ wrt ์ด๋ฆ„ ์ง€์ • ... idk์˜ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค). ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ethN ์šฉ์œผ๋กœ ํ•˜๋“œ ์ฝ”๋”ฉ๋˜์—ˆ์œผ๋ฉฐ (์—ฌ์ „ํžˆ ๋†€๋ผ์šด ์œ„์น˜์— ์žˆ์Œ) ์‹ค์ œ๋กœ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด systemd ์‹œ์Šคํ…œ์—์„œ ์ด์ „ ๋™์ž‘ ๋‹ค์‹œ ์–ป์„ ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ• ๊ทธ๋Ÿฌ๋‚˜ (๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์‹œ์Šคํ…œ,ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ)๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ net.ifnames=0 ์ปค๋„ ์ธ์ˆ˜์—.

(2 ์ฐจ ํ†ต๊ณผ๋กœ ์ธํ•ด ๋ฏธ์•ˆํ•˜์ง€๋งŒ, ์ฒซ ๋ฒˆ์งธ๋Š” ๋งค์šฐ ๊ฑด์„ค์ ์ด์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.)

์ด ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด --scale ์˜ต์…˜์ด ์“ธ๋ชจ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค์˜ ํ™•์žฅ ๋œ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•˜๋ ค๋ฉด ์ž„์˜ ์ ‘๋ฏธ์‚ฌ๋ฅผ ์•Œ์•„์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Nginx์˜ ์—…์ŠคํŠธ๋ฆผ ์„œ๋ฒ„๋กœ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ์ž์„ธํ•œ ๋‚ด์šฉ์€ # 6365 ์ฐธ์กฐ

์™€, ์ •๋ง ๋”์ฐํ•œ ๋ณ€ํ™”์ž…๋‹ˆ๋‹ค. ๐Ÿ‘Ž

์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ ๋œ ๋ฌธ์ž์—ด์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋„ ๋งŒ๋‚ฌ๊ณ  ํ–ฅํ›„ ํ•˜์œ„ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋„ project_service_index ํ˜•์‹์— ์˜์กดํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด Mac์—์„œ ์ด๋Ÿฌํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์ธ ์„ธ์ƒ์—์„œ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” Mac ์šฉ Docker ๋ฒ„์ „์„ ์ œ์–ด ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ง€๊ธˆ์€ ์ž๋™ ์—…๊ทธ๋ ˆ์ด๋“œ ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์‚ฌ๋žŒ๋“ค์ด ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ๋ฌธ์ œ ๋ฐ ๊ถŒ์žฅ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1) ์—…๊ทธ๋ ˆ์ด๋“œ ๋Œ€ํ™” ์ƒ์ž์—์ด ์ค‘๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๊ฒฝ๊ณ ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ƒ์ ์ธ ์„ธ๊ณ„์—์„œ๋Š” ๊ฐ ์—…๊ทธ๋ ˆ์ด๋“œ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฆด๋ฆฌ์Šค ์ •๋ณด๋ฅผ ํ™•์ธํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด์™€ ๊ฐ™์€ ์ค‘์š”ํ•œ ๊ฒƒ์ด ์—…๋ฐ์ดํŠธ ๋Œ€ํ™” ์ƒ์ž์—์„œ ๋ช…์‹œ ์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋ฉด ํฌ๊ฒŒ ๊ฐ์‚ฌ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2) 1)๋กœ ์ธํ•ด ๋ช…๋ฐฑํ•œ ๊ฒฝ๊ณ ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์—…๊ทธ๋ ˆ์ด๋“œ์—์„œ ์ด์™€ ๊ฐ™์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ˜ธ์ถœ๋˜๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ตœ์‹  ๋ฒ„์ „ ์ด์ „์˜ ์—…๊ทธ๋ ˆ์ด๋“œ๋Š” "์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์ง€์ • ์ฒด๊ณ„๊ฐ€ ๋‹ค์Œ ๋ฒ„์ „์—์„œ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์‹ญ์‹œ์˜ค"์™€ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

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

์‚ฌ๋žŒ๋“ค์€ ํ•ญ์ƒ ์˜๋„ ํ•œ ๋ฐฉ์‹๋Œ€๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ฐ€์ •์ด ์‹คํŒจ ํ•  ๋•Œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์†Œ์œ ๊ถŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ช‡ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ์˜์‚ฌ ์†Œํ†ต์„ ํ†ตํ•ด ํ–ฅํ›„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€๋น„ํ•˜๊ณ  ์ตœ์‹  ๋ชจ๋ฒ” ์‚ฌ๋ก€๋กœ ์ด๋™ํ•˜๋„๋ก ๋™๊ธฐ๋ฅผ ๋ถ€์—ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ „์— docker container exec -it project_php_1 bash ์— ์˜์กดํ–ˆ๋‹ค๋ฉด ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ID๋ฅผ ์ฐพ์œผ๋ ค๋ฉด docker ps ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ project_php ๋ฐ project_php_xdebug ๋˜๋Š” project_php ๊ณผ ์ผ์น˜ํ•˜๋Š” ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€ ์ผ์น˜ํ•˜๋ฏ€๋กœ docker ps -q --filter=name=project_php ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด์ „์— ์ฝ์„ ์ˆ˜ ์žˆ์—ˆ๋˜ docker container exec -it project_php_1 bash ์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

docker container exec -it \
    $(docker ps -q \
        --filter label=com.docker.compose.project=project \
        --filter label=com.docker.compose.service=php) \
    bash

์ด๊ฒƒ์€ ์ž˜๋ชป ์ƒ๊ฐํ•œ ๋ณ€๊ฒฝ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

@jtreminio FWIW, ํ”„๋กœ์ ํŠธ์—์„œ ์—ฌ์ „ํžˆ docker-compose exec php ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€ํ™”์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ๊ณต์œ  ํ•ด์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š”์ด ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜๊ณ  ์šฐ๋ฆฌ์˜ ๋ถ€๋ถ„์— ์กฐ๊ธˆ ์ง€๋‚˜์น˜๊ฒŒ, ๊ทธ๋ฆฌ๊ณ  ๋ถ€๋ถ„์ ์œผ๋กœ ๋ณต๊ท€ ๋œ ๋™์˜ ์ž‘์„ฑ 1.23.2 ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์ปจํ…Œ์ด๋„ˆ ์ž„์˜ ์ ‘๋ฏธ์‚ฌ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ( docker-compose run ์šฐ๋ฆฌ๊ฐ€ ๋” ์ ์ ˆ์ด ์ฒ˜๋ฆฌ ํ•  ์ˆ˜์žˆ๋Š”, : # 4688 # 4549 # 5240, ์›๋ž˜ ์˜๋„๋Œ€๋กœ).

ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

๊ธฐ๋ณธ๊ฐ’์ด ์˜ˆ์ „์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๋„๋ก --no-slug ๋˜๋Š” ๋” ๋ฐ”๋žŒ์งํ•˜๊ฒŒ๋Š” --slug ๋ฅผ ๋„๋Š” ๋ช…๋ น ์ค„ ์˜ต์…˜์„ ์ถ”๊ฐ€ ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

1.23.2 ์ด์ „ ๋ฐฉ์‹์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

docker-compose up ์— ๋Œ€ํ•ด์„œ๋งŒ ๋˜๋Œ ๋ ธ์ง€๋งŒ docker-compose run ๋Œ€ํ•ด์„œ๋Š” ๋˜ ๋Œ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋น ๋ฅธ ํ•ด๊ฒฐ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค !!

2018 ๋…„ 11 ์›” 28 ์ผ ์˜คํ›„ 8์‹œ 9 ๋ถ„์— Joffrey F [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

๋ณ€ํ™”์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ๊ณต์œ  ํ•ด์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์ด ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์•˜๊ณ  ์šฐ๋ฆฌ ์ธก์—์„œ ์•ฝ๊ฐ„ ์ง€๋‚˜์น˜๊ฒŒ ์—ด์„ฑ์ ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•˜๋ฉฐ Compose 1.23.2์—์„œ ๋ถ€๋ถ„์ ์œผ๋กœ ๋˜๋Œ ๋ ธ์Šต๋‹ˆ๋‹ค. 4688 # 4549 # 5240, ์›๋ž˜ ์˜๋„๋Œ€๋กœ).

ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

โ€”
๋Œ“๊ธ€์„ ๋‹ฌ์•˜ ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์‹  ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ๋ณด๊ฑฐ๋‚˜ ์Šค๋ ˆ๋“œ๋ฅผ ์Œ์†Œ๊ฑฐํ•˜์‹ญ์‹œ์˜ค.

@ shin- ๋‚˜๋Š” ์ด๊ฒƒ์ด ์–ด๋Š ์‹œ์ ์—์„œ-์•„๋งˆ๋„ 1.24์—์„œ ๋ฐ˜ํ™˜ ๋  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค (๊ทธ๋Ÿฐ ์ค‘์š”ํ•œ ๋ณ€๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์—?). ๊ทธ๋ ‡๋‹ค๋ฉด ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ˜‘๋ ฅํ•˜์—ฌ ์Šฌ๋Ÿฌ๊ทธ์—†์ด์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„์œ„ํ•œ ๋Œ€์ฒด ๊ฒฝ๋Ÿ‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ดํ•ดํ•˜๊ณ  ๊ถŒ์žฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ ๋Œ€ํ™”๋ฅผํ•˜๊ธฐ์— ๊ฐ€์žฅ ์ข‹์€ ์žฅ์†Œ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

<project>_<service>_<index> ์—์„œ <project>_<service>_<index>_<slug> ๋ณ€๊ฒฝ๋จ

์ด๊ฒƒ์€ ๊ธฐ๋Šฅ์ด ์•„๋‹Œ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค.
๊ฐ์‚ฌ!
ansible_connection=docker ... ๐Ÿ˜” !!๋กœ ์‹คํ–‰๋˜๋Š” ansible ํ”Œ๋ ˆ์ด ๋ถ์„ ์ƒ๊ฐํ•ด๋ณด์‹ญ์‹œ์˜ค!
๋ช…์‹œ ์ ์œผ๋กœ container_name ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ๋˜๋Š” ๋ฌด์ž‘์œ„ <slug> !!๋กœ ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ๊ณ„์† ์—…๋ฐ์ดํŠธํ• ๊นŒ์š”?
์ •๋ง ๋‚˜์˜๋‹ค!

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