1 minute read

๐Ÿ“– ๋„์ปค ๋ช…๋ น์–ด

๋„์ปค์˜ ๋ช…๋ น์–ด๋Š” docker ~์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
์ดํ›„ ๋ถ™์€ ๋ช…๋ น์–ด๋Š” ํฌ๊ฒŒ 12๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

docker run hello-world์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ ์ด๋Š” docker container run์˜ ์ถ•์•ฝํ˜•์ด๋‹ค.
๋˜, docker ps == docker container ls๋กœ์จ ํ˜„์žฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์–ด๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

  • container
    • start
    • stop
    • create
    • run
    • exec
    • โ€ฆ
  • image
    • pull
    • search
    • โ€ฆ
  • volume
    • create
    • rm
    • โ€ฆ
  • network
    • create
    • rm
    • โ€ฆ

๐Ÿ„ ์ปจํ…Œ์ด๋„ˆ๋กœ Hello World ์‹คํ–‰ํ•˜๊ธฐ

image

  • Docker ํด๋ผ์ด์–ธํŠธ๊ฐ€ Docker ๋ฐ๋ชฌ๊ณผ ํ†ต์‹ ํ–ˆ๋‹ค.
  • Docker ๋ฐ๋ชฌ์ด hello-world์ด๋ฏธ์ง€๋ฅผ Docker Hub์—์„œ pull ํ–ˆ๋‹ค
  • Docker ๋ฐ๋ชฌ์ด hello-world์ด๋ฏธ์ง€์— ํ•ด๋‹นํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค.
  • ์ด์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด docker ๋ฐ๋ชฌ์ด -a ์˜ต์…˜์œผ๋กœ ํ‘œ์ค€์ž…์ถœ๋ ฅ์— ๋ถ™์–ด์„œ ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ–ˆ๋‹ค

์ด๋•Œ, ์ž๋ฐ”์—์„œ ๋ดค๋˜ Daemon์ด ๋‚˜์™”๋Š”๋ฐ, ์ด๋Š” ์ž๋ฐ”์—์„œ์˜ Daemon์€ ์ฃผ ์Šค๋ ˆ๋“œ์˜ ์ž‘์—…์„ ๋•๋Š” ๋ณด์กฐ์ ์ธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์Šค๋ ˆ๋“œ๋กœ์จ, ์ฃผ ์Šค๋ ˆ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ๊ฐ•์ œ์ ์œผ๋กœ ์ž๋™ ์ข…๋ฃŒ๋˜๋Š” ์Šค๋ ˆ๋“œ๋ฅผ ์˜๋ฏธํ–ˆ์—ˆ๋‹ค.

๋„์ปค๋ฅผ ์‚ฌ์šฉํ• ๋•Œ, docker๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ๋งจ ์•ž์— ๋ถ™์ธ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ docker๋Š” user/bin/docker์— ์œ„์น˜ํ•œ๋‹ค.
ํ•˜์ง€๋งŒ, ์‹ค์ œ ํ”„๋กœ์„ธ์Šค๋Š” /user/bin/dockerd ํŒŒ์ผ๋กœ ์‹คํ–‰๋œ๋‹ค.

๋„์ปค์˜ ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š”๋ฐ ํ•˜๋‚˜๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ์จ์˜ ๋„์ปค์ด๊ณ , ๋‚˜๋จธ์ง€๋Š” ์„œ๋ฒ„๋กœ์จ์˜ ๋„์ปค์ด๋‹ค.
์‹ค์ œ๋กœ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ๋„์ปค ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ๋Š” ์„œ๋ฒ„๋„์ปค์ด๋ฉฐ, ์„œ๋ฒ„๊ด€๋ฆฌ๋ฅผ ํ•˜๋Š” ๋„์ปค๋ฅผ ๋„์ปค ๋ฐ๋ชฌ ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋„์ปค๋Š” API์— ๋”ฐ๋ผ์„œ ๋„์ปค ์—”์ง„์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ์ด API๋ฅผ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋„๋ก CLI(Command Line Interface) ์ œ๊ณต์„ ๋„์ปค ํด๋ผ์ด์–ธํŠธ๋ผ ํ•œ๋‹ค.


๐Ÿ„ Apache ์„œ๋ฒ„๋กœ ์›นํŽ˜์ด์ง€ ์ถœ๋ ฅํ•˜๊ธฐ

image

์œ„์—์„œ -d๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰, -p port:port๋Š” ํ˜ธ์ŠคํŠธ Port:container Port

image


๐Ÿ„ Nginx ์„œ๋ฒ„๋กœ ์›นํŽ˜์ด์ง€ ์ถœ๋ ฅํ•˜๊ธฐ

์œ„์™€ ๋˜‘๊ฐ™์ด Nginx ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ํ•ด ์ฃผ์—ˆ๋‹ค.

image

์–ด ๊ทธ๋Ÿฌ์ž ์œ„์™€ ๊ฐ™์ด nginxServer๋ฅผ upํ•˜๋Š” ๊ณผ์ •์—์„œ Bind failed ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.
์ด๋Š” ์œ„์˜ ApacheServer๊ฐ€ ์ด๋ฏธ 8080 Port๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ด๋‹ค.

image

์ปดํ“จํ„ฐ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค Port๋ฅผ ๋ฐฐ์ •ํ•˜์—ฌ ์™ธ๋ถ€์™€ ํ†ต์‹ ํ•˜๊ฒŒ ๋œ๋‹ค.
์ด๋•Œ, -p ComputerPortNum:DockerPort ์•ž์˜ Num์€ ํ˜ธ์ŠคํŠธ์˜ Port, ๋’ค์˜ Num์€ Container์˜ Port์ด๋‹ค.
๋”ฐ๋ผ์„œ ํ˜ธ์ŠคํŠธ์˜ Port๋ฒˆํ˜ธ๊ฐ€ ์„œ๋กœ ๊ฒน์น˜๋ฏ€๋กœ ์ด๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

image

image



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