๊ณต์ง€
๋‰ด์Šค๋ ˆํ„ฐ ํ”Œ๋žซํผ ๋ณ€๊ฒฝ ์•ˆ๋‚ด

์ฃผ๊ฐ„ ์†Œ์‹์ง€

๐Ÿ”ญ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€, ํšจ์œจ์„ฑ์„ ๋†’์ด๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? - ๋”์šฑ ํšจ์œจ์ ์ธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ํšจ์œจ์„ฑ ๊ด€์ ์—์„œ '์ž˜' ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

2025.05.19 | ์กฐํšŒ 191 |
0
|
IT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์†Œ์‹์ง€์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

IT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์†Œ์‹์ง€

๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๋Š” DevOps์™€ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ  ์†์—์„œ ๊ธธ์„ ์žƒ์ง€ ์•Š๋„๋ก, 1์ธ ๊ฐœ๋ฐœ์ž์™€ ํŒ€์˜ ์„ฑ์žฅ์„ ๋•๋Š” ์ฃผ๊ฐ„ IT/๊ฐœ๋ฐœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ „๋‹ฌํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ๊ตฌ๋…์ž๋‹˜, IT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์†Œ์‹์ง€์ž…๋‹ˆ๋‹ค.

์ง€๋‚œ ๊ธ€์—์„œ ๋ณด์•ˆ ๊ด€์ ์—์„œ ์ž˜ ๋งŒ๋“  ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค๋Š”๋ฐ์š”.

์ด๋ฒˆ์—” ํšจ์œจ์ ์ธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋จผ์ € ํšจ์œจ์„ฑ ๊ด€์ ์—์„œ ์š”๊ตฌ๋˜๋Š” ์‚ฌํ•ญ์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ํฌ๊ธฐ ๊ฒฝ๋Ÿ‰ํ™”
  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ์ตœ์†Œํ™”
  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ์ตœ์ ํ™”

์ด๋ฏธ์ง€ ํฌ๊ธฐ ๊ฒฝ๋Ÿ‰ํ™”๋Š” ๊ทธ ๋œป์ด ๊ธˆ๋ฐฉ ์ดํ•ด๊ฐ€ ๋˜๋Š”๋ฐ... ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋Š” ๋ญ˜๊นŒ์š”?

์ง€๊ธˆ ๋‚ฏ์„ค๊ฒŒ ๋А๊ปด์ ธ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ด์ œ๋ถ€ํ„ฐ ์ปดํŒฉํŠธํ•˜๊ฒŒ ์งš์–ด๋“œ๋ฆฌ๋Š” ํ•ต์‹ฌ ๋‚ด์šฉ๋งŒ ํ™•์ธํ•˜์‹œ๋ฉด ๊ธˆ๋ฐฉ ๊ฐ์„ ์žก์œผ์‹ค ํ…Œ๋‹ˆ๊นŒ์š”.

 

* ํ˜„์žฌ ๋ณธ ๋‰ด์Šค๋ ˆํ„ฐ ํ”Œ๋žซํผ์— ์‹ค์Šต ๊ฐ€์ด๋“œ์— ํ•„์š”ํ•œ ๋งˆํฌ๋‹ค์šด ๋ฌธ๋ฒ•์ด ๋ชจ๋‘ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ด€๊ณ„๋กœ, ๋ณด๋‹ค ๋‚˜์€ ์‹ค์Šต ๊ฒฝํ—˜์„ ์œ„ํ•ด ์•„๋ž˜ ํŽ˜์ด์ง€์—์„œ ์•„ํ‹ฐํด์„ ํ™•์ธํ•˜์‹œ๋Š” ๊ฑธ ์ถ”์ฒœ๋“œ๋ ค์š”!

(์•„ํ‹ฐํด ๋‚ด์šฉ์€ ๋ชจ๋‘ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.)

๐Ÿ‘‰https://aidenslab-newsletter.beehiiv.com/p/c342424e81460581

 


๐Ÿ“š์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋ž€?

 

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒํƒœ๊ฐ€ ํ•˜๋‚˜์”ฉ ์Œ“์—ฌ์„œ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ๋น ๋ฅธ ์ดํ•ด๋ฅผ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ Dockerfile ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณผ๊ฒŒ์š”.

์ฒจ๋ถ€ ์ด๋ฏธ์ง€

๊ธฐ๋ณธ์ ์ธ Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์ •์˜๋œ Dockerfile์ธ๋ฐ์š”. ์ด๋ ‡๊ฒŒ ๋นŒ๋“œ๋œ ์ด๋ฏธ์ง€๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒํƒœ๊ฐ€ ์Œ“์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

1. ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์˜ ์ดˆ๊ธฐ ์ƒํƒœ

2. 1๋ฒˆ ์ƒํƒœ ์œ„์— Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ(/src/main.go)๋ฅผ ๋ณต์‚ฌํ•œ ์ƒํƒœ

3. 2๋ฒˆ ์ƒํƒœ ์œ„์— Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•ด์„œ ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ๋œ ์ƒํƒœ

์ด๋ ‡๊ฒŒ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ์ƒํƒœ๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ๋Š” ์ฝ๊ธฐ ์ „์šฉ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ ˆ์ด์–ด๊ฐ€ ์Œ“์ด๋Š” ๊ฑด๋ฐ, ์ด๊ฑด ์ฐธ๊ณ ๋งŒ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์œ„์—์„œ ์‚ดํŽด๋ณธ ์ƒํƒœ๋“ค์„ ์ž์„ธํžˆ ๋ณด๋ฉด ํ•œ ๊ฐ€์ง€ ๊ณตํ†ต์ ์ด ์žˆ๋Š”๋ฐ์š”. ๋ฐ”๋กœ 'FROM', 'COPY', 'RUN'๊ณผ ๊ฐ™์€ Dockerfile์˜ ์ง€์‹œ์–ด๊ฐ€ ์žˆ๋Š” ๊ณณ์—์„œ ์ƒํƒœ ๋ณ€ํ™”, ์ฆ‰ ๋ ˆ์ด์–ด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑ๋œ ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ์ด์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

1. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์†๋„ ํ–ฅ์ƒ

  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด์–ด๋Š” ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ž˜์„œ ๋งŒ์•ฝ ์œ„์—์„œ ์‚ดํŽด๋ณธ ์˜ˆ์ œ ์ฝ”๋“œ์—์„œ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๋„๋ก ์ˆ˜์ •๋˜๋”๋ผ๋„, ๊ธฐ์กด ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด์–ด๊ฐ€ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ๋˜์–ด ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋” ๋นจ๋ฆฌ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ €์žฅ ๊ณต๊ฐ„ ๊ฐ์†Œ

  • ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด์–ด๋Š” ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ฌ ๋•Œ(Pull), ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ ˆ์ด์–ด ์ค‘์— ์ด๋ฏธ ๋กœ์ปฌ์— ์กด์žฌํ•˜๋Š” ๋ ˆ์ด์–ด๋Š” ์žฌ์‚ฌ์šฉํ•˜๊ณ  ์ƒˆ๋กœ ํ•„์š”ํ•œ ๋ ˆ์ด์–ด๋งŒ ๋กœ์ปฌ์— ์ €์žฅํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

์ข€ ๋” ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์•„๊นŒ ์‚ดํŽด๋ณธ Dockefile ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ Docker build ๋ช…๋ น์–ด๋กœ ์ด๋ฏธ์ง€ ๋นŒ๋“œํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ๊ฐ€ ๋๋‚˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋Š”๋ฐ์š”.

์ฒจ๋ถ€ ์ด๋ฏธ์ง€

์Šคํฌ๋ฆฐ์ƒท์— ๋นจ๊ฐ„ ์ƒ์ž๋กœ ํ•˜์ด๋ผ์ดํŠธํ•œ ๋ถ€๋ถ„์„ ๋ณด๋ฉด, ์‹ค์ œ ์˜ˆ์ œ ์ฝ”๋“œ์—์„œ ๋ช…์‹œ๋œ ์ง€์‹œ์–ด๋“ค์ด ์‹คํ–‰๋˜๋ฉด์„œ ๊ฐ๊ฐ์˜ ๋ ˆ์ด์–ด๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด์–ด์— ๋Œ€ํ•ด ํ•ต์‹ฌ ๋‚ด์šฉ๋งŒ ์‚ดํŽด๋ดค๋Š”๋ฐ์š”. ์ด์ œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•  ๋•Œ ํšจ์œจ์„ฑ์„ ์ฑ™๊ธธ ์ˆ˜ ์žˆ๋Š” ํŒ์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ”๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์งˆ์ ์ธ ๋‚ด์šฉ์œผ๋กœ๋งŒ ๊ตฌ์„ฑํ–ˆ์œผ๋‹ˆ ๊ผญ ํ™•์ธํ•ด๋ณด์„ธ์š”.


โœจ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ํšจ์œจ์„ฑ์„ ์ฑ™๊ธฐ๋Š” ํŒ

 

1๏ธโƒฃ ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง€ ๋นŒ๋“œ ๊ธฐ๋ฒ• ํ™œ์šฉํ•˜๊ธฐ

ํ•˜๋‚˜์˜ Dockerfile์—์„œ ์—ฌ๋Ÿฌ ๋นŒ๋“œ ๋‹จ๊ณ„๋ฅผ ์ •์˜ํ•˜์—ฌ ์ตœ์ข… ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ์ค„์ด๋Š” ๊ธฐ๋ฒ•์„ ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง€ ๋นŒ๋“œ ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๋งŽ์ด ํ™œ์šฉ๋˜๋Š” ํŒจํ„ด์€, ์ฒซ ๋ฒˆ์งธ ๋นŒ๋“œ ๋‹จ๊ณ„์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œ๋‚˜ ์˜์กด์„ฑ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ตœ์ข… ๋‹จ๊ณ„์—์„œ๋Š” ์ตœ์†Œํ•œ์˜ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€ ์œ„์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋™์— ํ•„์š”ํ•œ ๊ฒฐ๊ณผ๋ฌผ๋งŒ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ฆ‰, ๋นŒ๋“œ์—๋งŒ ํ•„์š”ํ•œ ๋Œ€์šฉ๋Ÿ‰ ํŒจํ‚ค์ง€๋‚˜ ํŒŒ์ผ์ด ์ตœ์ข… ์ด๋ฏธ์ง€์— ํฌํ•จ๋˜์ง€ ์•Š์•„ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ๋Œ€ํญ ๊ฐ์†Œํ•˜๋Š” ๊ฒƒ์ด์ฃ .

์ข€ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก Dockerfile ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ ์ฝ”๋“œ๋Š” Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๋Š” ์ด๋ฏธ์ง€์— ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง€ ๋นŒ๋“œ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•œ ๊ฒƒ์ธ๋ฐ์š”.

์ฒซ ๋ฒˆ์งธ ์Šคํ…Œ์ด์ง€์—์„œ Go ์–ธ์–ด๋กœ ๊ฐœ๋ฐœํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ(์ตœ์ข…) ์Šคํ…Œ์ด์ง€์—์„œ ๋˜๋‹ค๋ฅธ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์— ์ด์ „ ์Šคํ…Œ์ด์ง€์—์„œ ๋นŒ๋“œ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋งŒ ๋ณต์‚ฌํ•˜์—ฌ ์ตœ์ข… ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒจ๋ถ€ ์ด๋ฏธ์ง€

'COPY --from'๋ผ๋Š” Dockerfile ์ง€์‹œ์–ด๊ฐ€ ๋‚ฏ์„ค ์ˆ˜๋„ ์žˆ๋Š”๋ฐ์š”. ์ œ๊ฐ€ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ „ ์Šคํ…Œ์ด์ง€์˜ ์ด๋ฏธ์ง€(์˜ˆ์ œ์—์„œ๋Š” 'golang:1.23' ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€ ์œ„์— ๊ตฌ์„ฑ๋œ 'builder'๋ผ๋Š” ์ด๋ฆ„์˜ ์ด๋ฏธ์ง€)์—์„œ Go ๋ฐ”์ด๋„ˆ๋ฆฌ ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ–ˆ์ฃ ?

'builder' ๋‚ด Go ๋ฐ”์ด๋„ˆ๋ฆฌ ๋นŒ๋“œ์˜ ๊ฒฐ๊ณผ๋ฌผ์ด ๋“ค์–ด์žˆ๋Š” ๊ฒฝ๋กœ(์œ„ ์˜ˆ์ œ์—์„œ๋Š” 'bin/hello')์˜ ๋‚ด์šฉ์„ ์ตœ์ข… ์Šคํ…Œ์ด์ง€์˜ 'alpine:latest' ์ด๋ฏธ์ง€ ๋‚ด ๋™์ผํ•œ ์œ„์น˜('/bin/hello')์— ๋ณต์‚ฌ('COPY')ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ตœ์ข… ์ด๋ฏธ์ง€์—๋Š” ์ด์ „ ์Šคํ…Œ์ด์ง€์—์„œ ๋นŒ๋“œํ•œ ๊ฒฐ๊ณผ๋ฌผ๋งŒ ๋ฐ›์•„์˜ค๋Š” ๊ฑฐ์ฃ .

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ตœ์ข… ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋ฉด์„œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋™์ž‘์— ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ œ์™ธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ ๊ณต๊ฒฉ ํ‘œ๋ฉด๋„ ์ค„์ด๋Š” ํšจ๊ณผ๋„ ๊ฐ™์ด ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํšจ์œจ๊ณผ ๋ณด์•ˆ์„ฑ์„ ๋ชจ๋‘ ์ฑ™๊ธธ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ๋• ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง€ ๋นŒ๋“œ ๊ธฐ๋ฒ•์„ ๊ผญ ๊ณ ๋ คํ•ด๋ด์•ผ๊ฒ ์ฃ ?

 

2๏ธโƒฃ .dockerignore ํŒŒ์ผ ํ™œ์šฉํ•˜๊ธฐ

'.dockerignore' ํŒŒ์ผ์€ Docker ๋นŒ๋“œ ์‹œ Docker ๋ฐ๋ชฌ์œผ๋กœ ์ „์†ก๋˜๋Š” ๋นŒ๋“œ ์ปจํ…์ŠคํŠธ(์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ๋นŒ๋“œ๋˜๋Š” ํ™˜๊ฒฝ)์—์„œ ์ œ์™ธํ•  ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ ์ต์ˆ™ํ•œ '.gitignore' ํŒŒ์ผ๊ณผ ๋น„์Šทํ•œ ์–‘์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”๋ฐ์š”.

'.dockerignore' ํŒŒ์ผ๋กœ '. git' ํด๋”๋‚˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ „์šฉ ํŒŒ์ผ ๋“ฑ ์ด๋ฏธ์ง€ ๋นŒ๋“œ์— ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋นŒ๋“œ ์ปจํ…์ŠคํŠธ์—์„œ ์ œ์™ธ์‹œํ‚ค๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์ฃ .

๋˜ํ•œ ์ตœ์ข… ์ด๋ฏธ์ง€์— ์ตœ์†Œํ•œ์˜ ํ•„์ˆ˜ ๋ฐ์ดํ„ฐ๋งŒ ํฌํ•จ๋œ๋‹ค๋Š” ๊ฒƒ์€ ์ด๋ฏธ์ง€์˜ ๋ณด์•ˆ์„ฑ๋„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ, '.dockerignore' ํŒŒ์ผ์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

 

3๏ธโƒฃ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ์ตœ์†Œํ™”

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ์ตœ์†Œํ™”๋Š” ๋ง ๊ทธ๋Œ€๋กœ ๋ถˆํ•„์š”ํ•œ ๋ ˆ์ด์–ด๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด์–ด๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๋นŒ๋“œ ์†๋„๋Š” ๋А๋ ค์ง€๊ณ  ์ €์žฅ ๊ณต๊ฐ„์€ ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์ •์˜ํ•˜๋‹ค๋ณด๋ฉด ๋นŒ๋“œ ๊ณผ์ •์—์„œ ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” 'apt-get update' ๋ช…๋ น์–ด๋‚˜ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” 'apt-get install' ๋ช…๋ น์–ด, ๋ถˆํ•„์š”ํ•œ ์ž„์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” 'rm' ๋ช…๋ น์–ด๊นŒ์ง€ ๋ชจ๋‘ Dockerfile์˜ 'RUN' ์ง€์‹œ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ์š”.

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

ํŒจํ‚ค์ง€ ์„ค์น˜ ๊ณผ์ •์— ํ•„์š”ํ•œ ๋ช…๋ น์–ด๋“ค์ด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ๊ฐ์˜ 'RUN' ์ง€์‹œ์–ด๋กœ ์ •์˜๋˜์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฒจ๋ถ€ ์ด๋ฏธ์ง€

๊ทธ๋Ÿฌ๋ฉด ํŒจํ‚ค์ง€ ์„ค์น˜ ๊ณผ์ •์—์„œ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๊ฐ€ ์ด 2๊ฐœ ์ƒ์„ฑ๋˜๋Š”๋ฐ์š”.

์ด๋•Œ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ์ตœ์†Œํ™”๋ฅผ ์œ„ํ•ด ์ˆœ์„œ๋Œ€๋กœ '&&'๋กœ ๋ฌถ์–ด ํ•˜๋‚˜์˜ 'RUN' ์ง€์‹œ์–ด ์•ˆ์—์„œ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒจ๋ถ€ ์ด๋ฏธ์ง€

์ด๋ ‡๊ฒŒ ์ˆ˜์ •ํ•˜๋ฉด ํŒจํ‚ค์ง€ ์„ค์น˜ ๊ณผ์ •์— ํ•„์š”ํ•œ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋ฅผ 1๊ฐœ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์–ด ๋นŒ๋“œ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

 

4๏ธโƒฃ ์ž์ฃผ ๋ณ€๊ฒฝ๋  ๊ฒƒ ๊ฐ™์€ ์ง€์‹œ์–ด๋Š” Dockerfile ์•„๋ž˜์— ์ •์˜ํ•˜๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ ์•Œ์•„๋ณธ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด์˜ ์„ฑ์งˆ์„ ์ด์šฉํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋นŒ๋“œ ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์ด ํ•œ ๊ฐ€์ง€ ๋” ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ”๋กœ Dockerfile์— ์ •์˜ํ•˜๋Š” ์ง€์‹œ์–ด์˜ ์ˆœ์„œ๋ฅผ ์ด๋ฏธ์ง€ ๋นŒ๋“œ์— ์œ ๋ฆฌํ•˜๊ฒŒ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Dockerfile์˜ ์ง€์‹œ์–ด ์ˆœ์„œ์™€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋นŒ๋“œ์™€ ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ๋ƒ๊ณ ์š”? ๋ฐฉ๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ดค๋˜ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ๊ด€์ ์—์„œ ๋ฐ”๋ผ๋ณด๋ฉด ๊ธˆ๋ฐฉ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋Š” ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๊ณผ์ •์—์„œ Dockerfile์˜ ์ง€์‹œ์–ด๋“ค์ด ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ ์ƒ์„ฑ๋œ๋‹ค๊ณ  ํ–ˆ์ฃ ? ์ด๊ฑธ ๋ฐ”๊ฟ”์„œ ์ด์•ผ๊ธฐํ•˜๋ฉด, ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋ ˆ์ด์–ด๋Š” ์ด์ „ ๋ ˆ์ด์–ด ์œ„์— ์ƒˆ๋กœ์šด ํŒŒ์ผ ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ ์ด๋ฅผ ์ €์žฅํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

A-B-C-D๋กœ ์ด์–ด์ง€๋Š” ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋ฅผ ๊ฐ€์ง„ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณผ๊ฒŒ์š”.

๋งŒ์•ฝ D ๋ ˆ์ด์–ด์— ์ƒˆ๋กœ์šด ๋ณ€๊ฒฝ์ด ์žˆ์–ด ์ด๋ฏธ์ง€๋ฅผ ์ƒˆ๋กœ ๋นŒ๋“œํ•œ๋‹ค๋ฉด, ๊ธฐ์กด์— ๊ฐ€์ง€๊ณ  ์žˆ๋˜ A, B, C ๋ ˆ์ด์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉํ•˜๊ณ  D'๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ ˆ์ด์–ด๋งŒ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋งŒ์•ฝ C ๋ ˆ์ด์–ด์— ์ƒˆ๋กœ์šด ๋ณ€๊ฒฝ์ด ์žˆ๋‹ค๋ฉด, ๊ธฐ์กด์˜ A, B ๋ ˆ์ด์–ด๋งŒ ์žฌ์‚ฌ์šฉํ•˜๊ณ  C'์™€ D'๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ ˆ์ด์–ด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ž์ฃผ ๋ณ€๊ฒฝ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋ ˆ์ด์–ด์˜ ์ง€์‹œ์–ด๋ฅผ ์ตœ๋Œ€ํ•œ Dockerfile์˜ ํ•˜๋‹จ์— ๋‘ฌ์•ผ ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๊นŒ '๐Ÿ“š์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋ž€?'์—์„œ ์‚ดํŽด๋ดค๋˜ ์˜ˆ์‹œ๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์™€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์˜ ์ดˆ๊ธฐ ์ƒํƒœ (FROM)

2. Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌ (COPY)

3. Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•ด์„œ ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ (RUN)

์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€ ๋ ˆ์ด์–ด๊ฐ€ ์กด์žฌํ•˜๋Š” ์ด๋ฏธ์ง€์˜ Dockerfile์— 'Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋™์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์„ค์น˜'ํ•˜๋Š” ์ง€์‹œ์–ด(RUN)๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณผ๊ฒŒ์š”.

์ƒˆ๋กœ์šด ์ง€์‹œ์–ด๋Š” ์œ„ ์ง€์‹œ์–ด๋“ค ์ค‘ ์–ด๋А ์œ„์น˜์— ๋‘์–ด์•ผ ํ• ๊นŒ์š”?

์•„๋งˆ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ํŒจํ‚ค์ง€๋ณด๋‹ค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ๋” ์ž์ฃผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ Dockerfile ์ง€์‹œ์–ด๋ฅผ ์ •์˜ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

1. ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์˜ ์ดˆ๊ธฐ ์ƒํƒœ (FROM)

2. Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋™์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์„ค์น˜ (RUN)

3. Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌ (COPY)

4. Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•ด์„œ ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ (RUN)

์œ„ ์ˆœ์„œ๋ผ๋ฉด Go ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์ƒˆ๋กœ ๋นŒ๋“œํ•˜๋”๋ผ๋„ ๊ธฐ์กด 1๋ฒˆ๊ณผ 2๋ฒˆ ๋ ˆ์ด์–ด๋Š” ์žฌ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋นจ๋ฆฌ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ .

 


๐Ÿ‘์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ณด์•ˆ๊ณผ ํšจ์œจ์„ฑ์„ ์ฑ™๊ธฐ๋ฉด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ๋“ค

 

์ง€๊ธˆ๊นŒ์ง€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ณด์•ˆ์„ฑ๊ณผ ํšจ์œจ์„ฑ์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค๋Š”๋ฐ์š”. ์ด๋ ‡๊ฒŒ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ '์ž˜' ๋งŒ๋“ค๋ฉด ์–ด๋–ค ์ด์ ์ด ์žˆ์„๊นŒ์š”? ์•„๋ž˜์™€ ๊ฐ™์ด 4๊ฐ€์ง€๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

1. ๋ณด์•ˆ ์‚ฌ๊ณ  ๋ฐœ์ƒ ์‹œ ํ”ผํ•ด ๊ฐ์†Œ

  • ๋งŒ์•ฝ ๋ณด์•ˆ ์‚ฌ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋‚ด์—์„œ์˜ ๊ถŒํ•œ์ด ๋†’์ง€ ์•Š๊ณ  ๊ณต๊ฒฉ ํ‘œ๋ฉด๋„ ์ ๊ธฐ ๋•Œ๋ฌธ์—, ๋ณด์•ˆ ์‚ฌ๊ณ ์˜ ํ”ผํ•ด๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ  ๋น ๋ฅธ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

2. ๋น„์šฉ ์ ˆ๊ฐ ๋ฐ ๋ฐฐํฌ ํšจ์œจ์„ฑ ์ฆ๊ฐ€

  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋ฒผ์›Œ์ ธ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋˜๊ณ , ์Šคํ† ๋ฆฌ์ง€์™€ ๋„คํŠธ์›Œํฌ ๋น„์šฉ๋„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Auto Scaling์ด ๋  ๋•Œ ์ธ์Šคํ„ด์Šค ๋ถ€ํŒ…๊ณผ ์„œ๋น„์Šค ์ค€๋น„ ์‹œ๊ฐ„์ด ๊ฐ์†Œํ•˜์—ฌ ๋ฐฐํฌ ํšจ์œจ์„ฑ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

3. ๊ฐœ๋ฐœํŒ€๊ณผ ์šด์˜ํŒ€์˜ ์—…๋ฌด ํšจ์œจ์„ฑ ๊ฐœ์„ 

  • ๊ฐœ๋ฐœํŒ€์€ ๋กœ์ปฌ์—์„œ ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œ/ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์šด์˜ํŒ€์€ ์ž‘๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€ ๋•๋ถ„์— ๋ฐฐํฌ์™€ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•ด์ง‘๋‹ˆ๋‹ค.

4. ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ธ ์šด์˜ ๊ฐ€๋Šฅ

  • Serverless ํ™˜๊ฒฝ์—์„œ์˜ ์ฝœ๋“œ ์Šคํƒ€ํŠธ ์‹œ๊ฐ„ ๋‹จ์ถ•์— ๋„์›€์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ณ  ๋น„์šฉ ํšจ์œจ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


๐Ÿ”ญ๋งˆ์น˜๋ฉฐ...

 

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ ๋“ฑ์„ ๋ฐ˜์˜ํ•œ ์ •๊ธฐ์ ์ธ ์žฌ๋นŒ๋“œ์™€ Dockerfile ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋Š” ์ด๋ฏธ์ง€ ํ’ˆ์งˆ์„ ๊พธ์ค€ํžˆ ๋†’์ด๋Š” ๋ฐ์— ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์ด๋ฏธ ํด๋ผ์šฐ๋“œ์™€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋Œ€์ค‘ํ™”๋œ ์š”์ฆ˜, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ์ค‘์š”์„ฑ์€ ์•„๋ฌด๋ฆฌ ๊ฐ•์กฐํ•ด๋„ ๋ถ€์กฑํ•  ํ…๋ฐ์š”.

 

์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์— ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ํšจ์œจ์„ฑ ๊ด€์ ์—์„œ ๊ฐœ์„ ํ•  ์ ์€ ์—†๋Š”์ง€ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด๋Š” ๊ฑด ์–ด๋–จ๊นŒ์š”?

IT ์—…๊ณ„์—์„œ ํšจ์œจ์„ฑ์€ ํ•„์ˆ˜์ธ ๋งŒํผ, ๊ฐœ์ธ์˜ ์„ฑ์žฅ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒ€์˜ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ๋  ํ…Œ๋‹ˆ๊นŒ์š”!

 

์˜ค๋Š˜ ์ด์•ผ๊ธฐ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์—ฌ์ •์— ๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ, ๋‹ค์Œ ์†Œ์‹์ง€์—์„œ ๋ณด๋‹ค ์•Œ์ฐจ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ๊ตฌ๋…์ž๋‹˜ ๐Ÿ˜บ

 


๐Ÿ”—References

https://docs.docker.com/get-started/docker-concepts/building-images/understanding-image-layers/

- https://codefresh.io/blog/docker-anti-patterns/

 

์ด๋ฒˆ ์†Œ์‹์ง€ ๋‚ด์šฉ์€ ์–ด๋– ์…จ๋‚˜์š”? ์†Œ์‹์ง€๋ฅผ ๋” ๋‚˜์€ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ํผ์—์„œ 1~2๋ถ„ ์ •๋„๋ฉด ๋๋‚˜๋Š” ์งง์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์žˆ์–ด์š”.๐Ÿ‘‡

https://forms.gle/jjkvp9htV3atYLHG8

์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์†Œ์ค‘ํ•œ ์˜๊ฒฌ์— ํ•ญ์ƒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

 

๋ณธ ์†Œ์‹์ง€ ์•„์นด์ด๋น™ ๋ฐ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ธ”๋กœ๊ทธ๋„ ์šด์˜ ์ค‘์ž…๋‹ˆ๋‹ค :)

๐Ÿ”ญIT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์•ˆ๋‚ด์„œ

 

๋‹ค๊ฐ€์˜ฌ ๋‰ด์Šค๋ ˆํ„ฐ๊ฐ€ ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๊ตฌ๋…ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”

โœ‰๏ธ

์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ ์–ด๋– ์…จ๋‚˜์š”?

IT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์†Œ์‹์ง€ ๋‹˜์—๊ฒŒ โ˜•๏ธ ์ปคํ”ผ์™€ โœ‰๏ธ ์ชฝ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”!

๋Œ“๊ธ€

์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

ํ™•์ธ
์˜๊ฒฌ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ œ์ผ ๋จผ์ € ๋Œ“๊ธ€์„ ๋‹ฌ์•„๋ณด์„ธ์š” !

๋‹ค๋ฅธ ๋‰ด์Šค๋ ˆํ„ฐ

ยฉ 2025 IT ์—ฌํ–‰์ž๋ฅผ ์œ„ํ•œ ์†Œ์‹์ง€

๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๋Š” DevOps์™€ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ  ์†์—์„œ ๊ธธ์„ ์žƒ์ง€ ์•Š๋„๋ก, 1์ธ ๊ฐœ๋ฐœ์ž์™€ ํŒ€์˜ ์„ฑ์žฅ์„ ๋•๋Š” ์ฃผ๊ฐ„ IT/๊ฐœ๋ฐœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ „๋‹ฌํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌธ์˜eduukulelekim@gmail.com

๋ฉ”์ผ๋ฆฌ ๋กœ๊ณ 

๋„์›€๋ง ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ ์˜ค๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ œ๋ณด ๋‰ด์Šค๋ ˆํ„ฐ ๊ด‘๊ณ  ๋ฌธ์˜

์„œ๋น„์Šค ์ด์šฉ ๋ฌธ์˜admin@team.maily.so

๋ฉ”์ผ๋ฆฌ ์‚ฌ์—…์ž ์ •๋ณด

๋ฉ”์ผ๋ฆฌ (๋Œ€ํ‘œ์ž: ์ดํ•œ๊ฒฐ) | ์‚ฌ์—…์ž๋ฒˆํ˜ธ: 717-47-00705 | ์„œ์šธ ์„œ์ดˆ๊ตฌ ๊ฐ•๋‚จ๋Œ€๋กœ53๊ธธ 8, 8์ธต 11-7ํ˜ธ

์ด์šฉ์•ฝ๊ด€ | ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ | ์ •๊ธฐ๊ฒฐ์ œ ์ด์šฉ์•ฝ๊ด€ | ๋ผ์ด์„ ์Šค