IT/DevOps

[Docker] Docker container port forwarding(feat. Windows 10)

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2023. 10. 25.

ํ˜ธ์ŠคํŠธ OS(๋กœ์ปฌPC)์— Docker๋ฅผ ์˜ฌ๋ ค์„œ ์ด๋ฏธ์ง€๋ฅผ pull ๋ฐ›์•„์„œ ์•„์ฃผ ์†์‰ฝ๊ฒŒ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„์›Œ์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

Docker image pull ๐Ÿค—

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด apache webserver๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋‹ค.(์‚ฌ์‹ค ์ด ๋งˆ์ €๋„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.)

docker pull httpd #apache webserver image๋ฅผ pull
docker images #๋‹ค์šด๋ฐ›์€ ์ด๋ฏธ์ง€ ๋ชฉ๋ก ์ถœ๋ ฅ
docker run httpd #apache webserver ์‹คํ–‰

์ด ์ƒํƒœ์—์„œ ์›น์„œ๋ฒ„๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด localhost:80๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋ฉด index.html์ด ํ‘œ์‹œ๊ฐ€ ์•ˆ๋œ๋‹ค.

๋‚ด ์ปดํ“จํ„ฐ์— apache๊ฐ€ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๊ณ  ํฌํŠธ๊ฐ€ 80์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค๋ฉด ํ‘œ์‹œ๊ฐ€ ๋ ๊ฑฐ๋‹ค.

ํ•˜์ง€๋งŒ ํ˜„์žฌ apache๋ฅผ ๋„์šด ๊ณณ์€ ๋‚ด ์ปดํ“จํ„ฐ์•ˆ์˜ Docker๋ผ๋Š” ๋ณ„๋„์˜ ์˜์—ญ์—์„œ ์‹คํ–‰์ค‘์ด๋‹ค.

๊ทธ๋ž˜์„œ ์™ธ๋ถ€์—์„œ localhost:80์œผ๋กœ ํ˜ธ์ถœํ•˜๋ฉด Docker์•ˆ์˜ WebServer๊ฐ€ ํ˜ธ์ถœ๋˜๋„๋ก ์ถ”๊ฐ€ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค.

์™ธ๋ถ€์—์„œ ํ˜ธ์ถœํ•˜๋Š” ์„œ๋น„์Šค์˜ ํฌํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋ถ„๋ฐฐ๋ฅผ ์‹œํ‚ฌ๊ฑด๋ฐ ์ด๋ฅผ ํฌํŠธ ํฌ์›Œ๋”ฉ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

์œ„ํ‚ค๋ฐฑ๊ณผ๋ฅผ ๋งํฌ ์‹œ์ผฐ๋Š”๋ฐ ์—ญ์‹œ ๋ฐฑ๊ณผ๋ฅผ ๋ณด๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ด๊ฐ€ ์•ˆ๋œ๋‹ค. ๐Ÿ˜‘


ํฌํŠธํฌ์›Œ๋”ฉ์ด๋ž€? ๐Ÿ˜„

์•Œ๊ณ  ์žˆ๋Š” ์ง€์‹์„ ์ตœ๋Œ€ํ•œ ๋™์›ํ•ด์„œ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ๋‚ด๊ฐ€ ์šฐํŽธ ๋ฐฐ๋‹ฌ๋ถ€๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

image source:https://images.unsplash.com/photo-1490670096971-8005fec55d50?auto=format&fit=crop&q=80&w=2070&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D

๋‚˜๋Š” ๋ฐฉํ™”๋ฒฝ์ด๋ผ๋Š” ์„ฑ ์•ˆ์— ๊ฑฐ์ฃผํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์šฐํŽธ์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•œ๋‹ค.

image source:https://images.unsplash.com/photo-1580677616212-2fa929e9c2cd?auto=format&fit=crop&q=60&w=500&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTh8fGNhc3RsZXxlbnwwfHwwfHx8MA%3D%3D

ํ•˜์ง€๋งŒ ๋‚˜๋Š” ์„ฑ ์•ˆ์˜ ๊ฑฐ์ฃผ๋ฏผ๋“ค ์ง‘์ฃผ์†Œ๋Š” ์•Œ์ง€ ๋ชปํ•œ๋‹ค.

์ด๋ฅผ ์–ด์ฉ๋‹ค..

๋‹คํ–‰ํžˆ๋„ ๋‚˜๋Š” ์ „์ฒด ์ง‘์ฃผ์†Œ๋Š” ์•Œ์ง€ ๋ชปํ•˜์ง€๋งŒ ์ง‘์— ๋ถ™์–ด ์žˆ๋Š” ์ฐฝ๋ฌธ๋ฒˆํ˜ธ๋Š” ์•Œ๊ณ  ์žˆ๋‹ค.

image source:https://plus.unsplash.com/premium_photo-1664359131585-20f760907632?auto=format&fit=crop&q=80&w=2072&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D

์ด ์ฐฝ๋ฌธ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด์„œ ๊ฑฐ์ฃผ๋ฏผ๋“ค์—๊ฒŒ ์šฐํŽธ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ผ์šฐํ„ฐ(๊ณต์œ ๊ธฐ)๋ผ๋Š” ๊ณณ์— ๊ฐ€์„œ ์ฐฝ๋ฌธ๋ฒˆํ˜ธ๋ฅผ ๋ถˆ๋Ÿฌ์ฃผ๋ฉด ์ฐฝ๋ฌธ๋ฒˆํ˜ธ์™€ ๋งคํ•‘๋œ ๋‚ด๋ถ€ ์ง‘์œผ๋กœ ์•ˆ๋‚ดํ•ด์ค€๋‹ค.

image source:https://plus.unsplash.com/premium_photo-1661589670435-65cfb3224205?auto=format&fit=crop&q=80&w=1932&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D

์ด ๋ผ์šฐํ„ฐ๋ผ๋Š” ๊ฐ์‚ฌํ•œ ๋ถ„์„ ํ†ตํ•ด์„œ ๋‚˜๋Š” ๋ฌด์‚ฌํžˆ ์„ฑ ์•ˆ์˜ ์ฃผ๋ฏผ๋“ค์—๊ฒŒ ์šฐํŽธ๋ฌผ์„ ๋ฐฐ๋‹ฌ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

image source:https://plus.unsplash.com/premium_photo-1663134275544-7d83fcfa0e54?auto=format&fit=crop&q=80&w=2070&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D

๋„คํŠธ์›Œํฌ ์ง€์‹์ด ๊นŠ์ง€ ์•Š๊ธฐ์— ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ•  ๋•Œ ๋‚ด๋ถ€์ ์œผ๋กœ ์ •ํ™•ํžˆ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ํƒ€๋Š”์ง€ ์•Œ์ง€๋Š” ๋ชปํ•˜์ง€๋งŒ ํฐ ๊ทธ๋ฆผ๋งŒ ์ตœ๋Œ€ํ•œ ๊ทธ๋ ค๋ณด์•˜๋‹ค.

์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€์˜ ์ฃผ์†Œ๋ฅผ ์•Œ์ง€๋Š” ๋ชปํ•ด๋„ ํฌํŠธ๋ฅผ ํ†ตํ•ด์„œ ๋ฐฉํ™”๋ฒฝ์•ˆ์— ์žˆ๋Š” ๋‚ด๋ถ€ ์„œ๋ฒ„์—๊ฒŒ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์‹ค์ œ๋กœ ์˜ˆ์ „์— ํšŒ์‚ฌ์—์„œ ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ†ตํ•ด์„œ ๋กœ์ปฌ์— ๋„์šด tomcat์„ ํšŒ์‚ฌ๋ฐ–์—์„œ ํ…Œ์ŠคํŠธ ํ•˜๊ณค ํ–ˆ์—ˆ๋‹ค.

Docker port forwarding ๐Ÿ˜Š

์ด์ œ ์ด๋ฏธ์ง€๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™” ํ•  ๋•Œ ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ•ด์„œ ๋„์›Œ๋ณด๊ฒ ๋‹ค.

docker run -p 9080:80 httpd #์™ธ๋ถ€์—์„œ 9080port๋กœ ํ˜ธ์ถœํ•˜๋ฉด 80port๋กœ ๋ฐ›๋„๋ก ์„ค์ •

ํฌํŠธํฌ์›Œ๋”ฉ

๋ธŒ๋ผ์šฐ์ €์—์„œ localhost:9080์œผ๋กœ ํ˜ธ์ถœํ•˜์ž ์˜ˆ์ƒํ•œ๋ฐ๋กœ Docker์˜ apache webserver์˜ index.html์ด ํ‘œ์‹œ๋˜์—ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ์€ ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ๋„์šด๊ฑฐ๋ผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋„์›Œ์•ผ ํ•œ๋‹ค.

ํ„ฐ๋ฏธ๋„์ด ์ข…๋ฃŒ๋˜๋ฉด ์„œ๋น„์Šค๋„ ์ข…๋ฃŒ๋œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ†ตํ•ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜๋Š” ์ „์ฒด ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

docker run -d -p 9080:80 httpd # ์›น์„œ๋ฒ„๋ฅผ ํฌํŠธํฌ์›Œ๋”ฉ(-p ์˜ต์…˜)ํ•ด์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(-d ์˜ต์…˜)๋กœ ์‹คํ–‰

์ฒซ๋ฒˆ ์งธ ์ž…๋ ฅํ–ˆ๋˜ ๋ช…๋ น์–ด์™€ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋ฉด docker pull...์„ ํ†ตํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ pull๋ฐ›๋Š” ๋ช…๋ น์–ด๊ฐ€ ์ƒ๋žต๋˜์—ˆ๋‹ค.

docker run ํ•  ๋•Œ ์ด๋ฏธ์ง€๊ฐ€ ์—†์œผ๋ฉด pull์„ ๋ฐ›์•„์™€์„œ ์‹คํ–‰ํ•˜๊ธฐ์— ์ด ๋ช…๋ น์–ด๊ฐ€ ๋” ํšจ์œจ์ ์ด๋‹ค.

์ด ๋•Œ latest ๋ฒ„์ „์œผ๋กœ ๋ฐ›์•„์˜ค๋‹ˆ๊นŒ ํŠน์ • ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์ด๋ฏธ์ง€๋ช…์— ์ถ”๊ฐ€ ์˜ต์…˜์„ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค.

์ •๋ง ์–ด๋งˆ์–ด๋งˆํ•œ ๊ฒฐ๊ณผ๋‹ค. 

apache web server๋ฅผ ๋„์šฐ๋ ค๋ฉด ์„ค์น˜ํ”„๋กœ๊ทธ๋žจ ๋‹ค์šด๋กœ๋“œ ํ•ด์„œ ์„œ๋น„์Šค ์‹คํ–‰ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‹คํ–‰, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ config๋„ ๋ณ€๊ฒฝํ•ด์•ผ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š”๋ฐ ์ด๊ฒƒ๋„ ๋Œ€๋žต ๋นจ๋ผ๋„ 10~15๋ถ„ ์žก์•„๋จน๋Š”๋‹ค.

๊ทธ๋Ÿฐ๋ฐ Docker๋ฅผ ํ†ตํ•ด์„  ๋ช…๋ น์–ด ํ•œ์ค„์— ๋‹จ ๋ช‡ ์ดˆ๋งŒ์— apache web server๊ฐ€ ์‹คํ–‰์ด ๋˜์—ˆ๋‹ค.

๋Œ๋„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ๋ถˆ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์ด๋Ÿฐ ๋А๋‚Œ์ด๋ผ๊ณ  ํ•ด์•ผ ๋ ๊นŒ?

๋„์ปค๋ฅผ ์ด์ œ ๋ง‰ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ์ด๊ฒƒ๋„ ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด์•ผ ๊ฒ ๋‹ค.

๊ณต๋ถ€ํ•  ๊ฒŒ ์ฐธ ๋งŽ์ง€๋งŒ ์ฆ๊ฒ๋‹ค.

reference: https://www.youtube.com/watch?v=dZ89MJZ4vJw


๊ฐœ์ธ ์Šคํ„ฐ๋”” ๊ธฐ๋ก์„ ๋ฉ”๋ชจํ•˜๋Š” ๊ณต๊ฐ„์ด๋ผ ํ‹€๋ฆฐ์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‹€๋ฆฐ ์  ์žˆ์„ ๊ฒฝ์šฐ ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

 

[Docker] Docker Compose [1] (ํ…Œ์ŠคํŠธ ์˜์ƒ)

๋ชฉ์ฐจDocker Compose ์ด์šฉํ•ด์„œ mysql ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ํ›„ ๋ณผ๋ฅจ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œdocker-compose.yml ๐Ÿ˜ƒyml ํ˜•์‹์ด๋ผ ๋“ค์—ฌ์“ฐ๊ธฐ ์ฃผ์˜services:# db๋ผ๋Š” ์ด๋ฆ„์€ ๋‚ด๋ง˜๋Œ€๋กœ ๊ทธ ์•ˆ์˜ image, restart ๋“ฑ์€ ์ˆ˜์ • ๋ถˆ

yaga.tistory.com

 

 

[AWS] EC2 + Docker + RDS๋กœ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์„œ๋ฒ„ ๋ฐ DB ๊ตฌ์ถ• ๊ฐ€์ด๋“œ ๐Ÿš€๐Ÿ’ป๐Ÿ“ฆ

์ด ํฌ์ŠคํŒ…์€ AWS ํšŒ์›๊ฐ€์ž…๋ถ€ํ„ฐ EC2/RDS ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐ ์›น์„œ๋ฒ„์™€ ์—ฐ๋™ํ•œ ๊ธฐ๋ณธ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.๋น ๋ฅธ ์‹œ์ผ๋‚ด์— AWS ํšŒ์›๊ฐ€์ž…๋ถ€ํ„ฐ ์•„ํ‚คํ…์ฒ˜ 3๊นŒ์ง€ ๊ตฌ์ถ•ํ•˜๋Š” ๋ผ์ด๋ธŒ ์˜์ƒ ํฌ์ŠคํŒ… ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.2025๋…„ 2์›”15

yaga.tistory.com

 

๋Œ“๊ธ€