์ง๋ ํฌ์คํธ์ ์ด์ด ๊ณ์ docker์์ ์์์ผํ ๊ธฐ๋ณธ ๋ช ๋ น์ด์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
์์ ๊ฐ์ ๊ธฐ๋ฅ์ ํด์ฃผ๋ ๊ฒ ๋ญ์์ฃ ?? ๋ง์ต๋๋ค. ๋ฐ๋ก docker run
์ด์์ฃ !!
์ํ์น ์ด๋ฏธ์ง๋ apache๋ก ํด๋ ๋๊ธด ํ์ง๋ง ์ค๋ซ๋์ ๋ถ๋ฆฌ์ด์๋ ์ด๋ฆ์ธ httpd๋ก ๊ฒ์ํด๋ ๋ฉ๋๋ค.
docker run httpd
๊ทธ๋ผ ์ด๋ฐ ์์ผ๋ก ์์์ docker hub์์ ๋ค์ด ๋ฐ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์ง๊ธ background๋ก ์คํ์ํจ ๊ฒ ์๋๊ธฐ ๋๋ฌธ์ ๋งจ ๋ง์ง๋ง ์ค์
0094: Command line: 'httpd -D FOREGROUND'
๋ผ๋ฉด์ ์
๋ ฅํ ์ ์๊ฒ ๋ฉ๋๋ค. apache์ ํ๋กฌํํธ๋ก ์ง์
ํด๋ฒ๋ฆฐ ๊ฒ์ด์ฃ . ์ฐ๋ฆฐ ์ด๊ฑธ ์ํ ๊ฒ ์๋๊ธฐ ๋๋ฌธ์ ์ง๋ ์๊ฐ์ ๋ฐฐ์ ๋ background ์คํ ์ต์
์ ๋ถ์ฌ์ค๋๋ค.
docker run -d --name apacheweb httpd
๊ทธ๋ผ ์ด์ apacheweb์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ์คํ๋๊ณ ์์์ ์ ์ ์์ต๋๋ค (Up์ํ)
์ด ์ปจํ ์ด๋๋ ์ด์ apache์น ์๋ฒ๋ฅผ 24์๊ฐ ๊ตฌ๋์ํค๊ณ ์๋ ์ํ๊ฐ ๋์ต๋๋ค.
์ด์ ์น์๋ฒ๋ฅผ ๊ตฌ๋์์ผ๋จ์ผ๋, ์ด ์น์๋ฒ ์ปจํ ์ด๋์ ์ ์์ ํด์ผํฉ๋๋ค.
docker์ ์ปจํ ์ด๋๋ ์คํ๋๋ฉด 172.17.0.0 ~ 172.17.255.255 ๋ฒ์์ private IP๋ฅผ ํ ๋น ๋ฐ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ฐ Private IP์ ์ธ๋ถ์ ์ฌ์ฉ์๊ฐ ๋ค์ด์ฌ ์๋ ์์ต๋๋ค. ์ธ๋ถ์ ์ฌ์ฉ์๊ฐ ์ ์ํ๊ธฐ ์ํด์ Public IP๊ฐ ํ์ํ๋ฐ์!
Private IP๋ Private IP๋ฅผ ๊ณต์ ํ๋ ์ ๋ค๋ผ๋ฆฌ ์ ๋ณด๋ฅผ ๊ตํํ๊ธฐ ์ํ ์๋จ์ด๊ณ , Public์ ์ธ๋ถ ์ฌ์ฉ์์ ํต์ ํ๊ธฐ ์ํ ์๋จ์ผ๋ก ์ดํดํด๋ ๋ ๊ฒ๊ฐ์ต๋๋ค.
docker๋ ์ธ๋ถ์์ Private IP๋ก ์ ๊ทผํ๊ธฐ ์ํ NAPT ๊ธฐ์ ์ ์ง์ํฉ๋๋ค.
NAPT : ํน์ port๋ก ๋ค์ด์จ ์ ์์ ํน์ IP๋ก ์ฐ๊ฒฐ์์ผ์ฃผ๋ ๊ธฐ์
ํด๋น ๊ธฐ์ ์ ์ด์ฉํ์ ํ์๋ฉด docker run
์ -p
์ต์
์ ์ด์ฉํฉ๋๋ค. ์ฌ์ฉ ์์๋ ์๋์ ๊ฐ์ต๋๋ค.
docker run -d -p 9999:80 --name apache2 httpd
ํด์ค : httpd ์ด๋ฏธ์ง๋ฅผ ๋ฐ๊ณ ์ปจํ ์ด๋ ๋ง๋ค๊ณ ์คํํ๋๋ฐ,, ์ด๋ฆ์ apache2๋ก ์ค์ ํ๊ณ ,,, ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๊ณ ,, local host์ 9999๋ฒ port๋ก ๋ค์ด์ค๋ฉด apache2์ 80๋ฒ ํฌํธ๋ก ์ฐ๊ฒฐ์์ผ apache2์ private IP๋ก ์ ์ํ๊ฒ ํด๋ผ~~
apache์ ๊ธฐ๋ณธ IP ํฌํธ๊ฐ 80๋ฒ์ด๊ธฐ ๋๋ฌธ์ 80์ผ๋ก ๋ฐ์์ค๋๋ค.
๊ทธ๋ผ ์ฑ๊ณต์ ์ผ๋ก ์ ๋์๊ฐ๊ณ ์์์ ์ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์ง๊ธ AWS์ EC2๋ฅผ ์ด์ฉํ์ฌ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์ค์ ์ด ์ถ๊ฐ๋ก ํ์ํฉ๋๋ค.
๋งจ ์ฒ์์ AWS๋ก ์ปดํจํฐ๋ฅผ ํ๋ ๋น๋ฆด ๋, 22๋ฒ ํฌํธ๋ง ์ด์ด๋จ๋ ๊ฑฐ ๊ธฐ์ตํ์๋์?
๊ทธ๋ฌ๊ธฐ ๋๋ฌธ์ ๊ทธ ์ธ์ ํฌํธ๋ก ์ ์์ ํ๊ฒ๋๋ฉด ์ ์๊ฑฐ๋ถ๊ฐ ๋ฉ๋๋ค.
9999๋ฒ ํฌํธ๋ ์ด์ด์ฃผ๊ธฐ ์ํด ์๋ ๊ทธ๋ฆผ์ฒ๋ผ
๋ณด์๊ทธ๋ฃน์ ๋ค์ด๊ฐ์ค๋๋ค.
์ธ๋ฐ์ด๋ ๊ท์น ํธ์ง์ ๋ค์ด๊ฐ์ค๋๋ค.
๊ท์น ์ถ๊ฐ๋ฅผ ๋๋ฌ์ฃผ์๊ณ ์๋์ ๊ฐ์ด ์ ๋ ฅํด์ค๋๋ค.
๋ง์ง๋ง์ผ๋ก ๊ท์น ์ ์ฅ์ ๋๋ฌ์ฃผ์๋ฉด ๋!
์ด์ ์ธ๋ถ ์ปดํจํฐ์์ AWS ์ปดํจํฐ์ ์ ์ํ ์ค๋น๋ ๋๋๊ฒ๋๋ค!
ํผ๋ธ๋ฆญ ์์ดํผ ์ฃผ์๋ฅผ ๊ธ์ด๋ค๊ฐ ์ฃผ์์ฐฝ์ ํผ๋ธ๋ฆญ์์ดํผ:9999
๋ฅผ ์
๋ ฅํ๋ฉด..
์ด๋ ๊ฒ ์ ์์ ์ผ๋ก ์ ์์ด ์๋ฃ๋๋ค๊ณ "It works!"๋ผ๋ ๋ง์ด ๋จ๊ฒ ๋ฉ๋๋ค ใ ใ
์ง๊ธ๊น์ง๋ AWS์์ ์ฐ๋์ ํตํด ์ธ๋ถ์์ AWS ์ปดํจํฐ์ ์ ์ํ์ฌ ์์ ์๋ ํ์ผ์ ๋ณด์ฌ์ฃผ๊ธฐ๊น์ง ์๋ฃํ์ต๋๋ค. (httpd์ ๊ธฐ๋ณธ์ธ index.html์ ๋ณด์ฌ์ค์ it works!) ๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ๋ณผ ์ ์์์ฃ .
๊ทธ๋ผ ์ local PC์ ์๋ ํ์ผ์ ๊บผ๋ด์ ๋ณด์ฌ์ฃผ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น์?
๊ทธ๋ ์ฌ์ฉ๋๋ ๊ฒ์ด ๋ฐ๋ก docker run
์ -v
์ต์
์
๋๋ค.
local์ ์๋ ํ์ผ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ๊ฑฐ๋ ์ปจํ ์ด๋์ ์ํ์ ๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํด์ผ ํ๋ ํ์ผ์ด ์๋ ๊ฒฝ์ฐ ํด๋น ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
-v
์ต์ ์ ๋ชฉ์ ์ ํธ์คํธ PC์ ์๋ ํน์ ํด๋๋ฅผ Conatiner ์์ผ๋ก ์ง์ด ๋ฃ๊ฑฐ๋
Container์ ์ํ๊ฐ ๋ณํ๋๋ผ๋ ํน์ ํด๋์ ์ํ๋ฅผ ์ ์ง์ํค๊ธฐ ์ํจ์ด๋ค.
apache์ ๊ธฐ๋ณธ ์ค์ ์ ์ด์ง ๋ฐ๊ฟ์, ์์ ๋ก ์ฃผ์ด์ง ํํ์ด์ง ํ๋๋ฅผ ๋์๋ณด๋๋ก ํฉ์๋ค.
์ฌ์ดํธ๋ก ์ด๋ํ์ ์ FileZilla๋ฅผ ์ค์นํด์ค๋๋ค.
์ผ์ชฝ ์์ ์ฌ์ดํธ ๊ด๋ฆฌ์๋ผ๊ณ ๋จ๋๋ฐ์, ์๋์ ๊ฐ์ด ๋ชจ๋ ์ค์ ์ ์ ๋ ฅํด์ค๋๋ค.
ํค ํ์ผ์๋ AWS์ .pem
ํ์ผ์ ์ง์ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค!
ํธ์คํธ์๋ AWS์ IP๋ฅผ ์
๋ ฅํด์ฃผ์๋ฉด ๋ฉ๋๋ค!
๊ทธ๋ผ ์ด๋ ๊ฒ AWS ์๋ฒ์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค.
์
๋ก๋ ํ๊ณ ์ ํ์๋ ํ์ผ์ ์ค๋ฅธ์ชฝ ๋ง์ฐ์ค๋ฅผ ๋๋ฅด๊ณ ์
๋ก๋๋ฅผ ๋๋ฅด์๋ฉด
์์ฐ~ ๊ทธ๋ผ ๋ก์ปฌ์ ์๋ ํ์ผ์ด ์ ์์ ์ผ๋ก AWS ์๋ฒ์ ์ ์ ๋ก๋ ๋ ๊ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค!!
FLASK๋ฅผ ํ ๋ Git์ผ๋ก ํ์๋๋ฐ FileZilla๋ฅผ ์ด์ฉํ๋ ๊ฒ๋ ํธํ๊ธด ํ๋ค์ ใ ใ
์ด์ ์๋์ docker ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋๋ค.
docker run -d -p 9999:80 -v {์ ๋๊ฒฝ๋ก:/usr/local/apache2/htdocs} --name apacheweb2 httpd
๊ธฐ์กด์ Conatainer๊ฐ ์๋ค๋ฉด docker rm -f
๋ช
๋ น์ด๋ก ์ญ์ ํ ์งํํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ํด๋น ํฌํธ๋ก ์ ์ํ๋ฉด?
๋ณธ์ธ ๊ฐ์ธ์ ํ์ผ๋ก ๋ง๋ ํํ์ด์ง๊ฐ ๋ฑ! ๋จ๊ฒ ๋ฉ๋๋ค!
์คํ ์ ๋๊ฒ ์กฐ์ฌํ์ธ์!!
์ต์์ ๊ธฐ๋ฅ๋ง์ ๋ด๊ณ ์๋ ์ด๋ฏธ์ง์ ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ ์ด์ฐจํผ ์ฐ๋ฆฌ๋ ์น์๋ฒ์ ํ์ํ ๊ฒ๋ค๋ง ๋ฐ์ผ๋ฉด ๋๋๋ฐ ๊ตณ์ด ๋ฌด๊ฑฐ์ด ubuntu๋ฅผ ๋ฐ์ ํ์๊ฐ ์๋ ๊ฒ์ด์ฃ .
์ฉ๋์ ์ข ํจ์จ์ ์ผ๋ก ์ ์ค์ฌ์ ์ฐ๊ธฐ ์ํด ๋ง๋ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๊ฐ ๋ฐ๋ก alpine
์
๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ด๋ฏธ์ง ๋ค์ :alpine
ํ๊ทธ๋ฅผ ๋ถ์ฌ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค ใ
ใ
์ ์์ ์ผ๋ก ์ ์๋ํ๋ ๊ฑธ ํ์ธํ ์ ์๊ณ ํํ์ด์ง๋ ์ ์ ์ ๋๋ ๊ฑธ ํ์ธํ์ค ์ ์์ ๊ฒ๋๋ค!
์ง๊ธ๊น์ง Docker๋ฅผ ํตํด ์ค์ง์ ์ธ ์น์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ค์ ์์๋ดค์ต๋๋ค! ์์์ผ ํ๋ ๋ด์ฉ๋ ๋ง๊ณ ์ธ์์ผํ ๊ฑฐ ๊ฐ์ ๋ด์ฉ๋ ๋ง์ง๋ง ์ ๋ฐฐ์๋์ผ์ฃ !