1 minute read

๐Ÿ“– ๋„์ปค ์ด๋ฏธ์ง€ ์ฐธ์กฐ

๋„์ปค ํ”Œ๋žซํผ์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ ๊ธฐ๋Šฅ์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, Docker Hub ๊ฐ™์€ ํŽ˜์ด์ง€๊ฐ€ ์œ ๋ช…ํ•˜๋‹ค.
์œ„ ์‚ฌ์ดํŠธ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฐธ์กฐ ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ•œ๋ฐ ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

[๋„๋ฉ”์ธ]/[์ด๋ฆ„]/[๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„]:[์ด๋ฏธ์ง€ ํƒœ๊ทธ]

  • ๋„๋ฉ”์ธ์€ www.naver.com์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์œผ๋กœ dockerhub๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, hub.docker.com
    • ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ๋„๋ฉ”์ธ์„ ์˜๋ฏธํ•œ๋‹ค
  • ์ด๋ฆ„์€ ์ด๋ฏธ์ง€ ์ž‘์„ฑ์ž์˜ ๊ณ„์ •์ด๋ฆ„, ๊ฐœ์ธ ํ˜น์€ ๋‹จ์ฒด์˜ ์ด๋ฆ„
  • ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„์€ application์˜ ์ด๋ฆ„์„ ์˜๋ฏธํ•œ๋‹ค.


๐Ÿ“– ๋„์ปค ์ด๋ฏธ์ง€ ํ‘ธ์‹œ

์ด๋ฏธ์ง€๋ฅผ ๋„์ปคํ—ˆ๋ธŒ์— ํ‘ธ์‹œํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„์ปค ํ—ˆ๋ธŒ ๊ณ„์ •์ด ํ•„์š”ํ•˜๋‹ค.
๊ณ„์ • ์ƒ์„ฑ ํ›„, docker login --username [ID]๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ๋œ๋‹ค.

image

์ดํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ธฐ์กด ์ด๋ฏธ์ง€์— ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€ ์ฐธ์กฐ๋ฅผ ๋ถ€์—ฌํ•ด ์ฃผ์—ˆ๋‹ค.
๊ธฐ์กด ์ด๋ฏธ์ง€๋Š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

image

v1 ์ด๋ฏธ์ง€๋ฅผ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ‘ธ์‹œํ•˜์˜€๋‹ค.

image

์ดํ›„ ๋‚ด dockerHub์— ๋“ค์–ด๊ฐ€์„œ ํ™•์ธํ•ด ๋ณธ ๊ฒฐ๊ณผ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์•  ์ด๋ฏธ์ง€๊ฐ€ push๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

image


๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ์ „์šฉ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉด ํŽธ๋ฆฌํ•œ ์ 

  • dockerhub์™€ ๊ฐ™์€ ์˜จ๋ผ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋Œ€์‹  ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ์จ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ๋‹ค์šด๋์„ ๋•Œ ์‹ ์†ํ•˜๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
  • ๋˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ์›๋ณธ์ด ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
  • ์ธํ„ฐ๋„ท ํšŒ์„  ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์—ฌ ์ „์†ก ์‹œ๊ฐ„์„ ์ ˆ์•ฝ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ„ ์ด๋ฏธ์ง€ ํƒœ๊ทธ

๋ฒ„์ „ ๊ด€๋ฆฌ์—์„œ ์†Œ์ˆ˜์ ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ˆซ์ž๋กœ ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
์ด๋Š” ์ด๋ฏธ์ง€ํƒœ๊ทธ์—๋„ ๋˜‘๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š”๋ฐ [major].[minor].[patch] ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.
๋ฒ„์ „ ํƒœ๊ทธ๋ฅผ 2.1๋กœ ์„ค์ •ํ–ˆ๋‹ค๋ฉด, ๊ธฐ์กด 2.1.1์—์„œ 2.1.2๊ฐ€ ๋‚˜์˜ค๋ฉด ์—…๋ฐ์ดํŠธ ๋˜์ง€๋งŒ, 2.2.1์ด ๋‚˜์˜ค๋ฉด ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š”๋‹ค.
์ง์ ‘ ์ž‘์„ฑํ•œ Dockerfile ์Šคํฌ๋ฆฝํŠธ์˜ ๊ฒฝ์šฐ์—๋Š” ์ •ํ™•ํ•œ ๋ฒ„์ „์„ ์ง€์ •ํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค.


๐Ÿ“– ์ปจํ…Œ์ด๋„ˆ์™€ ํ˜ธ์ŠคํŠธ ์‚ฌ์ด์˜ ํŒŒ์ผ ๋ณต์‚ฌ

ํŒŒ์ผ ๋ณต์‚ฌ๋Š” ํ˜ธ์ŠคํŠธ -> ์ปจํ…Œ์ด๋„ˆ, ์ปจํ…Œ์ด๋„ˆ -> ํ˜ธ์ŠคํŠธ๋กœ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ํ˜ธ์ŠคํŠธ -> ์ปจํ…Œ์ด๋„ˆ - docker container cp [ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ] [์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„]:[์ปจํ…Œ์ด๋„ˆ ๊ฒฝ๋กœ]
  • ์ปจํ…Œ์ด๋„ˆ -> ํ˜ธ์ŠคํŠธ - docker container cp [์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„]:[์ปจํ…Œ์ด๋„ˆ ๊ฒฝ๋กœ] [ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ]


๐Ÿ„ ์‹ค์Šต

index.html์ด๋ผ๋Š” ํŒŒ์ผ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ์„ฑํ•ด์ค€๋‹ค.

<html>
  <body>
    <div/hello world!>
  </body>
</html>

์ดํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ApachServer๋ฅผ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

image

localhost:8080์— ์ ‘์†ํ•ด๋ณด๋‹ˆ ๊ธฐ๋ณธ์œผ๋กœ ์ง€์ •๋œ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.
์ดํ›„, cp ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŠธ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋กœ ์œ„ index.html ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ด ์ฃผ์—ˆ๋‹ค.

image

image



๊ฐœ์ธ ๊ณต๋ถ€ ๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
ํ‹€๋ฆฌ๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ œ๋ณดํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜