# [CS] ๋„์ปค(Docker) | ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ , ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค
Study Repository

[CS] ๋„์ปค(Docker) | ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ , ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค

by rlaehddnd0422
 

[CS] ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋ฐฐํฌ ๋ฐฉ์‹์˜ ๋ณ€ํ™” ๊ณผ์ •

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

rlaehddnd0422.tistory.com

 

์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋ฐฐํฌ ๋ฐฉ์‹์˜ ๋ณ€ํ™” ๊ณผ์ •์„ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

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

 

๋„์ปค๋ž€?

 

"๋„์ปค"๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์œผ๋กœ, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ทธ ์ข…์†์„ฑ์„ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์ธ ์ปจํ…Œ์ด๋„ˆ๋กœ ํŒจํ‚ค์ง•ํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

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

 

๋„์ปค๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ • 

๋„์ปค ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค

๋„์ปค ํŒŒ์ผ

FROM openjdk:17
ARG JAR_FILE=build/libs/myOcean-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Dfile.encoding=UTF-8", "-jar","/app.jar"]
  • ๋„์ปค ํŒŒ์ผ์€ ํŒจํ‚ค์ง€, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ๋“ฑ์„ ๊ธฐ๋กํ•œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด ๋„์ปค ํŒŒ์ผ์„ ๋นŒ๋“œํ•˜์—ฌ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋„์ปค ์ด๋ฏธ์ง€

  • ๋„์ปคํŒŒ์ผ์„ ๋นŒ๋“œํ•˜์—ฌ ๋งŒ๋“  ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์— ํ•„์š”ํ•œ ํŒŒ์ผ๊ณผ ์„ค์ •๊ฐ’, ๋ฐ์ดํ„ฐ ๋“ฑ์„ ํฌํ•จ๋œ ์ƒํƒœ์ด๋ฉฐ, ๋ถˆ๋ณ€ํ•ฉ๋‹ˆ๋‹ค.

  • ๋„์ปค ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ปจํ…Œ์ด๋„ˆ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์ด๋ฏธ์ง€๋Š” ๊ทธ๋Œ€๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

 

๋„์ปค ์ปจํ…Œ์ด๋„ˆ

  • ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด ๋„์ปค ์ด๋ฏธ์ง€์— ์„ค์ •๋œ ํ”„๋กœ๊ทธ๋žจ , ๋ฐ์ดํ„ฐ ๋“ฑ์ด ์‹ค์ œ ์ปดํ“จํŒ… ์ž์›๊ณผ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฐฉ์‹์ด ์ผ๋ฐ˜์ ์ด๊ณ , ๋„์ปค ์ปดํฌ์ฆˆ ๋ฐฉ์‹์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋„์ปค ์ปดํฌ์ฆˆ ๋ฐฉ์‹

version: '3'
services:
  ์„œ๋น„์Šค1:
    image: ์ด๋ฏธ์ง€1:ํƒœ๊ทธ
    depends_on:
      - ์„œ๋น„์Šค2
  ์„œ๋น„์Šค2:
    image: ์ด๋ฏธ์ง€2:ํƒœ๊ทธ

 

"๋„์ปค ์ปดํฌ์ฆˆ(Compose)"๋Š” ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋กœ ์ •์˜ํ•ด ์ปจํ…Œ์ด๋„ˆ์˜ ๋ฌถ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—… ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ๋กœ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋™์ž‘ํ•  ๋•Œ ๋„์ปค ์ปดํฌ์ฆˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ปจํ…Œ์ด๋„ˆ์˜ ์˜์กด์„ฑ, ๋„คํŠธ์›Œํฌ, ๋ณผ๋ฅจ ๋“ฑ์„ ํ•จ๊ป˜ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

Study Repository

rlaehddnd0422

ํ™œ๋™ํ•˜๊ธฐ