[Docker] ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ๊ตฌ์กฐ

2025. 4. 9. 00:05ยท๐Ÿ“ค ๋ฐฐํฌ
๋ชฉ์ฐจ
  1. ์ด๋ฏธ์ง€
  2. ๐Ÿชœ ๋ ˆ์ด์–ด ๊ตฌ์กฐ
  3. ๋ฒ ์ด์Šค ๋ ˆ์ด์–ด
  4. ์ค‘๊ฐ„ ๋ ˆ์ด์–ด
  5. โœ… ์š”์•ฝ

์ด๋ฏธ์ง€

Docker์—์„œ ์ด๋ฏธ์ง€(Image)๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๋„์ด๋ฉฐ,
์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ ˆ์ด์–ด(layer)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

๊ฐ ๋ ˆ์ด์–ด๋Š” ์ด์ „ ๋ ˆ์ด์–ด ์œ„์— ์Œ“์ด๋Š” ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋กœ,
ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ณ€ํ™”(์ถ”๊ฐ€/์‚ญ์ œ/์ˆ˜์ •)๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.

๐Ÿชœ ๋ ˆ์ด์–ด ๊ตฌ์กฐ

์ด๋ฏธ์ง€๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์— ๋น„ํ•ด์„œ๋Š” ๊ฐ€๋ณ์ง€๋งŒ
์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฉ๋Ÿ‰์ด ์ž‘์ง€๋งŒ์€ ์•Š๋‹ค.

 

์ด๋•Œ ๋งค๋ฒˆ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค๋ฉด,
์‹œ๊ฐ„๋„ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๋””์Šคํฌ๋„ ๋‚ญ๋น„๋œ๋‹ค.

 

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

 

ํ•œ ๋ ˆ์ด์–ด๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค๋ฉด, ์ด๋ฏธ์ง€์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ
๋ณ€๊ฒฝ๋œ ๋ ˆ์ด์–ด์˜ ์œ„ ๋ ˆ์ด์–ด๋งŒ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋ฉด ๋œ๋‹ค.

 

๋ชจ๋“  ๋ ˆ์ด์–ด๋Š” ์ฝ๊ธฐ ์ „์šฉ์˜ ๋ถˆ๋ณ€ ๋ ˆ์ด์–ด์ด๊ณ 
์ƒˆ๋กœ์šด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ƒˆ๋กœ์šด ๋ ˆ์ด์–ด๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.

๋ฒ ์ด์Šค ๋ ˆ์ด์–ด

์ฒซ ๋ฒˆ์งธ ๋ ˆ์ด์–ด๋Š” ์šด์˜ ์ฒด์ œ์˜ ๊ธฐ๋ณธ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํฌํ•จํ•˜๋ฉฐ
๋‹ค๋ฅธ ๋ชจ๋“  ๋ ˆ์ด์–ด์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค.

 

FROM ubuntu:22.04: ์šฐ๋ถ„ํˆฌ OS์˜ ์ปค๋„์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ๋‹ค๋Š” ์˜๋ฏธ

์ค‘๊ฐ„ ๋ ˆ์ด์–ด

Dockerfile์—์„œ RUN, COPY, ADD ๋“ฑ
๋ช…๋ น์–ด ํ•˜๋‚˜ ํ•˜๋‚˜๋งˆ๋‹ค ํ•˜๋‚˜์˜ ๋ ˆ์ด์–ด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๊ฐ€ ์Œ“์˜€์„ ๋•Œ

FROM ubuntu:20.04 โ†’ ์ฒซ ๋ฒˆ์งธ ๋ ˆ์ด์–ด
COPY . /app โ†’ ๋‘ ๋ฒˆ์งธ ๋ ˆ์ด์–ด
RUN npm install โ†’ ์„ธ ๋ฒˆ์งธ ๋ ˆ์ด์–ด
...

 

RUN ๋‹จ๊ณ„๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด, ๊ทธ ์ด์ „ ๋‹จ๊ณ„์ธ FROM ubuntu:20.04์™€ COPY . /app์€ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ,
๋ณ€๊ฒฝ๋œ RUN ๋‹จ๊ณ„๋ถ€ํ„ฐ ๊ทธ ์ดํ›„ ๋ช…๋ น์–ด๋งŒ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ฒŒ ๋œ๋‹ค.

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ์ž์ฃผ ๋ฐ”๋€Œ๋Š” ๋ช…๋ น์–ด๋ฅผ ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด์— ๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.


์ตœ์ข… ์ปจํ…Œ์ด๋„ˆ๋Š” ์ด ๋ชจ๋“  ๋ ˆ์ด์–ด๋ฅผ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ ํ†ตํ•ฉ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.

โœ… ์š”์•ฝ

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

'๐Ÿ“ค ๋ฐฐํฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Docker] ์Šคํ”„๋ง ๋ถ€ํŠธ + PostgreSQL Docker ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๊ณผ์ •์—์„œ ๊ฒช์€ ๋ฌธ์ œ์  ๊ธฐ๋ก  (1) 2025.04.10
[ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋„์ปค๋กœ ๋นŒ๋“œ ์ค‘ Unsupported class file major version 65 ์˜ˆ์™ธ  (1) 2025.04.09
[๋ฐฐํฌ] ์ปจํ…Œ์ด๋„ˆ, ์ด๋ฏธ์ง€ ๊ฐœ๋…  (2) 2025.04.08
  1. ์ด๋ฏธ์ง€
  2. ๐Ÿชœ ๋ ˆ์ด์–ด ๊ตฌ์กฐ
  3. ๋ฒ ์ด์Šค ๋ ˆ์ด์–ด
  4. ์ค‘๊ฐ„ ๋ ˆ์ด์–ด
  5. โœ… ์š”์•ฝ
'๐Ÿ“ค ๋ฐฐํฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Docker] ์Šคํ”„๋ง ๋ถ€ํŠธ + PostgreSQL Docker ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๊ณผ์ •์—์„œ ๊ฒช์€ ๋ฌธ์ œ์  ๊ธฐ๋ก
  • [ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋„์ปค๋กœ ๋นŒ๋“œ ์ค‘ Unsupported class file major version 65 ์˜ˆ์™ธ
  • [๋ฐฐํฌ] ์ปจํ…Œ์ด๋„ˆ, ์ด๋ฏธ์ง€ ๊ฐœ๋…
์†Œ์˜ ๐Ÿ€
์†Œ์˜ ๐Ÿ€
Hello World โœจ
  • ์†Œ์˜ ๐Ÿ€
    Soyoung's Dev Lab
    ์†Œ์˜ ๐Ÿ€
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ธ€์“ฐ๊ธฐ ๊ด€๋ฆฌ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (46)
      • ๐Ÿ“ข ๊ฒŒ์‹œํŒ (0)
      • ๐Ÿ“š ์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜ (1)
      • ๐ŸŒฟSpring (15)
      • โ˜•Java (8)
      • ๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (3)
      • ๐Ÿ“ค ๋ฐฐํฌ (4)
      • โš™๏ธ CS & ๊ธฐํƒ€ ๊ฐœ๋ฐœ ์ž๋ฃŒ (13)
      • ๐Ÿ–ฅ๏ธ ํ”„๋กœ์ ํŠธ (0)
      • ๐Ÿ‘ฉโ€๐Ÿ’ป ํ™œ๋™ & ํ›„๊ธฐ (0)
      • ๐Ÿต ์ด์•ผ๊ธฐ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํƒœ๊ทธ
  • ๋งํฌ

    • github
    • velog
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Spring
    GIT
    ์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    ๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ์„œ๋ฒ„
    ์œ„ํด๋ฆฌ ํŽ˜์ดํผ
    ์ž๋ฃŒ๊ตฌ์กฐ
    ๋ฐฐํฌ
    Java
    docker
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ๊ฐœ๋ฐœ
    Spring Security
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์†Œ์˜ ๐Ÿ€
[Docker] ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ๊ตฌ์กฐ

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.