DOCKER

On a regular basisยท2021๋…„ 8์›” 23์ผ
0
post-thumbnail

DOCKER ๐Ÿผ

  • DOCKER๋ฅผ ๋ฐฐ์›Œ๋ณด์žฅ ^^
    ์›น์„œ๋ฒ„๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์ด ์ปดํ„ฐ๋ฅผ ๊ตฌํ•ด์„œ ์ ๋‹นํ•œ ์šด์˜์ฒด์ œ๋ฅผ ๊น”๊ณ  ๊ทธ ์œ„์— ์›น์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•œ ๋‹ด์— ๊ทธ๊ฑธ ์šฐ๋ฆฌํ•œํ…Œ ์ค€๋‹ค๋ฉด? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊นŒ์ง€...?! ๊ทธ๋Ÿผ ์งฑ ์ข‹๊ฒ ์ฐŒ...๐ŸŒˆ
    ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ์˜ ์•ฑ์€ ๋„คํŠธ์›Œํฌ๋กœ ํ†ต์‹ ํ•ด์„œ ์ด๊ฒƒ๋“ค๊ณผ ํ†ต์‹ ํ•œ๋‹ค๋ฉด? ์–ผ๋งˆ๋‚˜ ์กฐ์„๊นŒ!

  • ํ•˜๋‚˜์˜ ์ปดํ„ฐ์— ๊ฐ€์ƒ์˜ ์ปดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์œ„์— ์šด์˜์ฒด์ œ๋ฅผ ์„ค์น˜ํ•œ ํ›„์— ๊ฑฐ๊ธฐ์— ์›น์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•œ๋‹ค๋ฉด?
    ๊ทธ๋Ÿฌ๋ฉด ๋ณ„๋„๋กœ ์ปดํ„ฐ๋ฅผ ์žฅ๋งŒํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ฒ ์ง€?!

  • ๊ฒจ์šฐ ์›น์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๊ธฐ์œ„ํ•ด ์šด์˜์ฒด์ œ๋ฅผ ๊น”์•„์•ผํ•œ๋‹ค๋Š”๊ฒŒ ๋„ˆ๋ฌด ์•„๊น์ฐŒ..
    ์šด์˜์ฒด์ œ ์šฉ๋Ÿ‰์ด ํฌ๋‹ˆ๊นŒ !
    ์šด์˜์ฒด์ œ ์œ„์— ์šด์˜์ฒด์ œ ๋˜ ์žˆ๋‹ค๋ณด๋‹ˆ๊นŒ ์‹คํ–‰์†๋„๋„ ๋„ˆ๋ฌด ๋Š๋ ค์ง€๊ฒŒ ๋จ!

๊ทธ๋Ÿฌ๋ฉด.. ์šฐ๋ฆฌ๋Š” ?
ํ•œ๋Œ€์˜ ์ปดํ„ฐ ์•ˆ์— ๊ฐ๊ฐ์˜ ์•ฑ์„ ์‹คํ–‰์‹œํ‚ค๊ธฐ!
๊ฐ๊ฐ์˜ ์•ฑ์€ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋œ๋‹ค!
์ด๋•Œ ์šด์˜์ฒด์ œ๊ฐ€ ์„ค์น˜๋œ ์ปดํ„ฐ๋ฅผ ์ฃผ์ธ์ด๋ผ๊ณ  ํ•ด์„œ HOST๋ผ๊ณ  ๋ถ€๋ฅด๊ณ !
HOST์—์„œ ์‹คํ–‰๋œ ๊ฒฉ๋ฆฌ๋œ ๊ฐ๊ฐ์˜ ์‹คํ–‰ํ™˜๊ฒฝ์„ CONTAINER๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ.
๊ฐ๊ฐ์˜ ์ปจํ…Œ์ด๋„ˆ์—๋Š” ์•ฑ์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์‹คํ–‰ํŒŒ์ผ๋งŒ ํฌํ•จ๋˜์–ด์žˆ์Œ.
์ด๋ ‡๊ฒŒ ์•ฑ์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์—„์ฒญ ์ข‹๊ฒ ์ฅ.
์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•˜๋ฉด ๋˜๋‹ˆ๊นŒ ๋ญ”๊ฐ€๋ฅผ ์„ค์น˜ํ•  ํ•„์š”๋„ ์—†๊ณ  ์šด์˜์ฒด์ œ๊ฐ€ ํ•˜๋‚˜๋‹ˆ๊นŒ ์†๋„๋„ ๋Šฆ์–ด์ง€์ง€ ์•Š์•„. ์‹œ๊ฐ„๋„ ์ ˆ์•ฝ.^^ ์ €์žฅ์žฅ์น˜์˜ ์šฉ๋Ÿ‰๋„ ์•„๋‚„ ์ˆ˜ ์žˆ์Œ!

(๋ฌด์Šจ๋ง์ด์•ผ ^^?)

  • Linux OS ์—๋Š” ์ด๋ ‡๊ฒŒ ํ™˜์ƒ์ ์ธ ์•ฑ ์‹คํ–‰๋ฐฉ๋ฒ•์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ!
    ์ด๋Ÿฐ ๊ธฐ์ˆ ์„ CONTAINER๋ผ๊ณ  ๋ถ€๋ฆ„. CONTAINER๋ฅผ ์ด์šฉํ•ด ์ด๋Ÿฐ ์ผ์„ ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ์†ํŠธ์›จ์–ด๊ฐ€ ๋ช‡๊ฐœ ์žˆ๋Š”๋ฐ ๊ทธ์ค‘ ์ ค ์ž˜๋‚˜๊ฐ€๋Š” ์ œํ’ˆ์ด DOCKER....!

๐Ÿ’Ÿ DOCKER์˜ ์ด์šฉ์ž๊ฐ€ ๋˜์–ด๋ณด์žฅ :>

DOCKER ์„ค์น˜ ๐Ÿผ

  • ๋„์ปค์™€ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์€ ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ ๊ธฐ์ˆ !
    1) ๋„์ปค ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” ์ด ์ปจํ…Œ์ด๋„ˆ. ๊ทธ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฐ๊ฐ์˜ ์•ฑ๋“ค์€ ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์—์„œ ๋™์ž‘ํ•˜๋Š” ์•ฑ๋“ค!
    2) ๋งŒ์•ฝ ์ž์‹ ์˜ ์ปดํ„ฐ๊ฐ€ ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋„์ปค๋ฅผ ์“ธ ์ˆ˜ ์—†์„๊นŒ? NO!
    -> ์šฐ๋ฆฌ ์ปดํ„ฐ์— ๊ฐ€์ƒ๋จธ์‹ ์„ ๊น”๊ณ  ๊ทธ ๊ฐ€์ƒ๋จธ์‹ ์œ„์— ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ๋ฅผ ๊น”๋ฉด ๋„์ปค์™€ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ!

  • ๊ทผ๋ฐ ๋„˜ ์กฐ์€๊ฒŒ ๋„์ปค๊ฐ€ ์•Œ์•„์„œ ๊ฐ€์ƒ๋จธ์‹ ์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๊ทธ ์œ„์— ๋ฆฌ๋ˆ…์Šค๋ฅผ ์„ค์น˜ํ•ด์คŒ...^^

  • ๋งŒ์•ฝ ๋‚˜์˜ ์šด์˜์ฒด์ œ๊ฐ€ ๋ฆฌ๋ˆ…์Šค๋ผ๋ฉด, ๊ทธ ์œ„์—์„œ ๋ฐ”๋กœ ๋„์ปค ์‹คํ–‰. ์„ฑ๋Šฅ์˜ ์ €ํ•˜ NO!

  • ๊ทผ๋ฐ ๋‚ด๊บผ๋Š” MACOS์ธ๋ฐ, ๊ฐ€์ƒ๋จธ์‹ ์„ ์„ค์น˜ํ• ๊บผ๊ธฐ๋•Œ๋ฌธ์— ์–ด๋Š์ •๋„์˜ ์†๋„์ €ํ•˜๋ฅผ ๊ฐ์ˆ˜ํ•ด์•ผํ•จ. ๊ทธ๋Ÿผ์—๋„ ๋„์ปค๋ฅผ ์“ฐ๋Š” ์ด์œ ๋Š”? ํŽธ์˜์„ฑ๋•Œ๋ฌธ! ์–ด๋งˆ์–ด๋งˆ!

  • ๋„์ปค ์„ค์น˜ํ•˜๊ธฐ!

  • ๋„์ปค๋Š” ๋ช…๋ น์–ด๋กœ ์ œ์–ดํ•จ ! & ๋„์ปค ๋ฐ์Šคํฌํƒ‘์œผ๋กœ๋„ ๊ฐ€๋Šฅ!

  • app store -> program ๋‹ค์šด -> process ๋™์ž‘

  • docker hub -> image ๋‹ค์šด -> image์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ container๋ผ๊ณ  ํ•จ

๐Ÿ’Ÿ docker hub์—์„œ ํ•„์š”ํ•œ image๋ฅผ ๋‹ค์šด ๋ฐ›์•„๋ณด์žฅ!

docker images


-> ์š”๋Ÿฐ์‹์œผ๋กœ ์ถ”๊ฐ€๋จ!

  • ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰์‹œ์ผœ์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฉ๋ฒ• (RUN)
๐Ÿฆ– ๋„์ปค ๋ช…๋ น์–ด ๐Ÿฆ–
docker start ws2 # docker ์‹œ์ž‘
docker ps -a # ํ˜„์žฌ ์ƒํƒœ์— ์žˆ๋Š” ๊ฒƒ ๋ชจ๋‘ ๋ณด๊ธฐ
docker stop ws2 # docker ๋ฉˆ์ถค
docker rm ws2 # docker ์‚ญ์ œ

๐Ÿ’Ÿ ๋„์ปค๋ฅผ ๋™์ž‘ํ•˜๋Š” ๋งŽ์€ ์†ํŠธ์›จ์–ด๋“ค์ด ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉ! ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์žฅ!

  • ๋จผ์ €, ๋„์ปค ์—†์ด ์›น์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž!
  • ์›น์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‘ ๋Œ€์˜ ์ปดํ„ฐ ํ•„์š”ํ•ด
    1) ์›น๋ธŒ๋ผ์šฐ์ € ์„ค์น˜๋œ ๊ฒƒ
    2) ์›น์„œ๋ฒ„๊ฐ€ ์„ค์น˜๋œ ๊ฒƒ
  • ์›นํŽ˜์ด์ง€๋ฅผ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์„œ ์ €์žฅ์žฅ์น˜์— ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜์‹œ์ผœ์•ผ ํ•จ.
  • ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๊ณต๊ฐ„์„ File System์ด๋ผ๊ณ  ๋ถ€๋ฅผ๊ฑฐ์•ผ..!
  • File System์•ˆ ๋””๋ ‰ํ† ๋ฆฌ์— index.htmlํŒŒ์ผ์„ ์œ„์น˜์‹œํ‚ด.
  • ๋ˆ„๊ฐ€ ์›นํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๋ฉด ์ด ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ฐพ์œผ๋ ด..!
  • ์ปดํ“จํ„ฐ์—๋Š” 65,000๊ฐœ์˜ ํฌํŠธ๊ฐ€ ์กด์žฌํ•จ. ๊ทธ์ค‘ 80๋ฒˆ ํฌํŠธ๋ฅผ ์„ค์ •.
  • ์›น์„œ๋ฒ„๊ฐ€ ์„ค์น˜๋œ ์›น์„œ๋ฒ„์˜ ์ฃผ์†Œ๋Š” example.com
  • ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ example.com์— ์ ‘์†ํ•˜๋ฉด !!
  • ์ด๋•Œ 80๋ฒˆ ํฌํŠธ๋กœ ์ ‘์†ํ•˜๊ฒŒ ๋จ -> 80๋ฒˆ ํฌํŠธ์—๋Š” ์›น์„œ๋ฒ„๊ฐ€ ๋Œ€๊ธฐ ์ค‘. ์›น์„œ๋ฒ„๋Š” ๊ทธ ์•ˆ์—์„œ index.html ํŒŒ์ผ์„ ์ฐพ์Œ. ๊ทธ๊ฑธ ์ฝ์–ด์„œ ์›น๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ index.html ํŒŒ์ผ์„ ์ „๋‹ฌํ•ด์ฅผ.
  • ์ด์ œ ๋„์ปค๋กœ !
  • ์›น์„œ๋ฒ„๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์— ์„ค์น˜๋จ
  • ์ด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„ค์น˜๋œ ์šด์˜์ฒด์ œ๋ฅผ ๋ญ๋ผ๊ณ ํ• ๊นŒ? DOCKER HOST
  • ํ•˜๋‚˜์˜ DOCKER HOST์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ์Œ!
  • ์ปจํ…Œ์ด๋„ˆ, ํ˜ธ์ŠคํŠธ ๋ชจ๋‘ ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ํ™˜๊ฒฝ
  • ๋…๋ฆฝ์ ์ธ ํฌํŠธ์™€ ํŒŒ์ผ์‹œ์Šคํ…œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ!
  • ์›น๋ธŒ๋ผ์šฐ์ €๋กœ ์›น์„œ๋ฒ„์— ์ ‘์†๊ฐ€๋Šฅ? ์•ˆ๋ผ.. ์—ฐ๊ฒฐ ๋Š๊ฒจ์žˆ์–ด
  • ํ˜ธ์ŠคํŠธ์˜ 80๋ฒˆ ํฌํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ์˜ 80๋ฒˆ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ์–ด์•ผ ํ•จ.

    -> ํ˜ธ์ŠคํŠธ์˜ 80๋ฒˆ ํฌํŠธ๋กœ ๋“ค์–ด์˜จ ์‹ ํ˜ธ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์˜ 80๋ฒˆ ํฌํŠธ๋กœ ์ „์†ก.
  • ์ด๋Ÿฐ ๊ณผ์ • ์ž์ฒด๋ฅผ port forwarding์ด๋ผ๊ณ  ํ•จ!
  • ๋‚˜๋จธ์ง€๋Š” ์œ„์˜ ๊ณผ์ •๊ณผ ๋™์ผ.

๐Ÿ’Ÿ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ• ๊นŒ?

docer exec -it [์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„] /bin/sh
  • ์œ„์— ์˜ˆ์‹œ๋Š” w3์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•ด์„œ ๋‚ด๋ ค์ง€๋Š” ๋ชจ๋“  ๋ช…๋ น !
  • ์—ฌ๊ธฐ์„œ exit๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋‚˜๊ฐ€๋ฉด ๊ทธ ๋‚˜๋จธ์ง€ ๋ช…๋ น๋“ค์€ host๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ–‰ํ•ด์ง€๋Š” ๋ช…๋ น์ด๋ผ๊ณ  ๋ณด๋ฉด ๋จ!

๐Ÿ’Ÿ container๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ์ˆ˜์ •ํ•œ index.html๋„ ์—†์–ด์ง€๋„ค?


-> ์ปจํ…Œ์ด๋„ˆ์˜ /usr/local/apache2/htdocs์™€ ํ˜ธ์ŠคํŠธ์˜ /Desktop/htdocs๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ ,
-> ํ˜ธ์ŠคํŠธ์ชฝ์—์„œ ์ˆ˜์ •์ด ์ด๋ฃจ์–ด์กŒ์„ ๋•Œ ๊ทธ๊ฒƒ์ด ์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ์‹œ์Šคํ…œ์— ๋ฐ˜์˜๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ!
-> ๊ทธ๋Ÿผ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‚ ๋ผ๊ฐ€๋„ ํ˜ธ์ŠคํŠธ์— ๋‚จ์•„์žˆ๊ธฐ๋•Œ๋ฌธ์— ๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Œ! ๋ฒ„์ „๊ด€๋ฆฌ๋„ ์‰ฌ์›€..! ๋ฐฑ์—…๊ด€๋ฆฌ๋„ ์‰ฝ๊ณ ..๐ŸŒฑ
-> ์š”๋ ‡๊ฒŒ ์—ฐ๊ฒฐ !

์ถœ์ฒ˜: ์ƒํ™œ์ฝ”๋”ฉ ๋„์ปค ์ž…๋ฌธ ์ˆ˜์—…! https://www.youtube.com/watch?v=Ps8HDIAyPD0&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf

profile
๊ฐœ๋ฐœ ๊ธฐ๋ก

0๊ฐœ์˜ ๋Œ“๊ธ€