๋ณธ ํฌ์คํ ์ ๊ทธ๋ฆผ๊ณผ ์ค์ต์ผ๋ก ๋ฐฐ์ฐ๋ ๋์ปค & ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๋ฐํ์ผ๋ก ์์ฑ๋์์ต๋๋ค!
๋์ปค๋?
๋ฐ์ดํฐ ๋๋ ํ๋ก๊ทธ๋จ(์ํ์น, nginx, ๋ฉ์ผ ํ๋ก๊ทธ๋จ ๋ฑ)์ ๊ฒฉ๋ฆฌ์ํค๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด
๋์ปค๋ ๊ทธ ์์ฒด๋ก ํด๋ผ์ฐ๋ ํ๋ซํผ์ผ๊น?
๋์ปค์ ์ฟ ๋ฒ๋คํฐ์ค๋ ํด๋ผ์ฐ๋ ํ๋ซํผ์ด ์๋, ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ, ๋ฐฐํฌ, ๊ด๋ฆฌํ๋ ๋ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ด๋ค. ํด๋ผ์ฐ๋ ํ๋ซํผ์ AWS, GCP ๋ฑ์ด ์๋ค.
๊ทธ๋ฌ๋ ํด๋ผ์ฐ๋ ๊ฐ๋ ์ ๊ฐ์ง๊ณ ์๋ค. ๋์ปค์ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ฃผ๋ก ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต ์ ์ฒด๋ค์ ์ธํ๋ผ(AWS, Azure, CGP) ์ ํตํฉ๋์ด ์ฌ์ฉ๋๋ค.
์ฆ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ํ์ฉํ์ฌ ๋์ปค ์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌํ๊ณ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
๋์ปค ์ปจํ ์ด๋์ ๋์ปค ์์ง
๋์ปค ์ปจํ ์ด๋: ๊ฐ์ธ์ฉ ์ปดํจํฐ๋ ์๋ฒ ์์ ํ๊ฒฝ์ ์กฐ๋ฆฝํ ์ฐฝ๊ณ ๊ฐ์ ๋ฐฉ์ผ๋ก ๋ถํ ํด ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ๋๋ ๊ฒ
์ปจํ ์ด๋๋ ์ฐ๊ณ ๋ฒ๋ฆฌ๋ ์ผํ์ฉํ ๊ฐ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์ฝ๊ฒ ์์ฑํ์ฌ ๊ตฌ๋ํ๊ณ ์ฝ๊ฒ ํ๊ธฐํ ์ ์๋ค.
๋์ปค ์์ง: ๋์ปค ์ํํธ์จ์ด์ ๋ณธ์ฒด๋ก, ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ณ ๊ตฌ๋ํ ์ ์๊ฒ ํด์ค๋ค.
๋์ปค์ ๊ตฌ์กฐ
๋ฆฌ๋ ์ค ์ด์ ์ฒด์ ์์ ๋์ปค ์์ง์ ์ฌ๋ฆฌ๊ณ , ๊ทธ ์์ ์ปจํ ์ด๋๋ฅผ ์ฌ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ ๋ฃ์ด ๋์์ํจ๋ค.
๋์ปค๋ ๋ฆฌ๋ ์ค์ฉ
๋ฐ๋์ ๋ฆฌ๋ ์ค ์ด์์ฒด์ ์์ ์ฌ๋ฆฌ๊ฑฐ๋, ๋ฆฌ๋ ์ค ํ๊ฒฝ์ ๊ฐ์ ๋จธ์ ๋ฑ์ผ๋ก ๊ตฌ์ฑํด์ฃผ์ด์ผ ํ๋ค.
๋์ปค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฆฌ๋ ์ค ์ฉ์ด๋ค.
๋์ปค ์ด๋ฏธ์ง
์ปจํ ์ด๋๋ฅผ ์ฐ์ด๋ด๋ ๋นตํ๊ณผ๋ ๊ฐ์ ์ญํ ๋ก, ์ปจํ ์ด๋์ ์ค๊ณ๋ ์ญํ ์ ํ๋ค.
ํ๋๋ง ์์ผ๋ฉด ์ฌ๋ฌ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค ์ ์๊ณ , ๋ฐ๋๋ก ์ปจํ ์ด๋๋ก ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค ์๋ ์๋ค.
๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ๋ ๋ฆฝ๋ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌํด์ผ ํ๋ ์ด์
ํ ์๋ฒ ๋ด์์ ํ๋ก๊ทธ๋จ ๊ฐ ๊ณต์ ๋ ์ฐ๋์ผ๋ก ์ธํด ์ค์ ํ์ผ์ด ์์ด๊ฑฐ๋ ์ถฉ๋๋๋ ๊ฒ์ ๋ง๊ณ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด์
๋ฌธ์ ์ ์์ธ์ ๋๋ถ๋ถ ํ๋ก๊ทธ๋จ ๊ฐ ๊ณต์ ์์ ๋ฐ์ํ๊ฑฐ๋, ์ค์ ํ์ผ์ด ์์ด๊ฑฐ๋ ์ค์ ์ ์ถฉ๋์ด ์๊ธฐ๋ ๊ฒ์ด๋ค.
ํ๋ก๊ทธ๋จ๋ ํ ์๋ฒ์์ ํจ๊ป ์ง๋ด๋ ค๋ฉด ์ฌ๋์ด ํจ๊ป ์ง๋ด๋ ๊ฒ ์ด์์ผ๋ก ์ ๊ฒฝ ์ธ ๊ฒ์ด ๋ง์ด ์๊ธด๋ค.
์ปจํ ์ด๋ ์์คํ ์ ์ฅ์
1. ํ๋ก๊ทธ๋จ์ ์๋ฒฝํ๊ฒ ๊ฒฉ๋ฆฌํ๋ฏ๋ก ์น ์๋ฒ์ ๋ฉ์ผ ์๋ฒ, ์์คํ ๊ณผ DB ์๋ฒ๋ฅผ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ธ ํ๊ฒฝ์์ ์์ ํ๊ฒ ์ด์ฉํ ์ ์๋ค.
2. ํ ๋์ ์ปดํจํฐ์ ์น ์๋ฒ๋ฅผ ํ ๋ฒ ๋ฐ์ ์คํํ์ง ๋ชปํ๋ ๊ฒ์ ์ฌ๋ฌ ๊ฐ์ ์น ์๋ฒ๋ฅผ ์ฌ๋ฆด ์ ์๊ฒ ํด์ค๋ค.(๊ทธ๋งํผ ๋ฌผ๋ฆฌ์๋ฒ๋ ์ค์ผ ์ ์๋ค.)
3. ๊ทธ์ ๊ฒฉ๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ ์ฝ๊ฒ ์ฎ๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐํ๊ฒฝ์ ๊ฐ์ถ๊ฑฐ๋ ์ด์ํ๊ฒฝ์ผ๋ก ์ฝ๊ฒ ๋์ด๊ฐ ์ ์๋ค.
๋์ปค์ ๋จ์
1. ๋ฆฌ๋ ์ค ์ด์์ฒด์ ๋ฒ ์ด์ค์ด๊ธฐ ๋๋ฌธ์ ์๋์ฐ ์๋ฒ๋ ์์ ์ง์ํ์ง ์๊ณ ์ ๋์ค์กฐ์ฐจ ์ฌ์ฉํ ์ ์๋ค.
2. ๋ฌผ๋ฆฌ ์๋ฒ(ํธ์คํธ ๋จธ์ ์ ์๋ฒ) ์์ ์ฌ๋ฌ ๋์ ์๋ฒ๋ฅผ ๋์ฐ๋ ํ์์ด๋ฏ๋ก ํธ์คํธ ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ๋ชจ๋ ์ปจํ ์ด๋์ ์ํฅ์ด ๋ฏธ์น๋ค.
3. ์ปจํ ์ด๋ ํ๋๋ฅผ ์ฅ๊ธฐ๊ฐ์ ๊ฑธ์ณ ์ฌ์ฉํ ๋์๋ ๊ทธ๋ฆฌ ํฐ ์ฅ์ ์ ๋๋ผ๊ธฐ ์ด๋ ต๋ค.
๋์ปค์ ์ฉ๋
1. ํ์ ๋ชจ๋์๊ฒ ๋์ผํ ๊ฐ๋ฐํ๊ฒฝ ์ ๊ณตํ๊ธฐ: ํ๋ก์ ํธ๋ณ๋ก ์ปจํ ์ด๋๋ฅผ ๋ฐ๋ก ์ฌ์ฉํ ์๋ ์๋ค.
2. ์๋ก์ด ๋ฒ์ ์ ํ ์คํธ ํ ์ ์๋ค: ์๋ก์ด ๋ฒ์ ๊ณผ ๋ณ๊ฒฝ๋ ํ๊ฒฝ์ ๋ํ ํ ์คํธ์๋ ์ ์ฉํ๋ค.
3. ๋์ผํ ์๋ฒ๊ฐ ์ฌ๋ฌ ๋ ํ์ํ ๊ฒฝ์ฐ
์ปจํ ์ด๋๊ฐ ๊ฐ๋ฒผ์ด ์ด์
์ด์์ฒด์ ๋ ์ํํธ์จ์ด๋ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ ํ๋์จ์ด์ ์ ๋ฌํ๋ ์ญํ ์ ํ๋๋ฐ, ์ฃผ๋ณ ๋ถ๋ถ์ด ํ๋ก๊ทธ๋จ์ ์ฐ๋ฝ ๋ด์ฉ์ ์ปค๋์ ์ ๋ฌํ๊ณ ์ปค๋์ด ํ๋์จ์ด๋ฅผ ๋ค๋ฃฌ๋ค.
๋์ปค ์ปจํ ์ด๋ ์์๋ ์ฃผ๋ณ ๋ถ๋ถ๋ง ๋ค์ด์๊ณ , ์ปค๋์ ์ด์์ฒด์ ์ ์ปค๋์ ์ด๋ค.
๊ทธ๋์ ๊ฐ๋ณ๋ค.
๋์ปค ํ๋ธ
๋์ปค ํ๋ธ๋ ์ค๋งํธํฐ์ ๊ตฌ๊ธ ํ๋ ์ด ์คํ ์ด์๋ ๊ฐ์ ์กด์ฌ๋ก, ๊ณต๊ฐ๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๊ฐ ๋ชจ์ฌ ์๋ ๊ณณ์ด๋ค.
์ด๊ณณ์์ ์ํ๋ ์ปจํ ์ด๋์ ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์ ์ ์๋ค.
๋์ปค ํ๋ธ์๋ ๋ค์ํ ๊ณต๊ฐ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๊ฐ ์ ๊ณต๋๋๋ฐ, ๋๊ตฌ๋ ์ง ์ด๋ฏธ์ง๋ฅผ ๋ฑ๋กํ๊ณ ๊ณต๊ฐํ ์ ์์ผ๋ฏ๋ก ์ด๋ฏธ์ง์ ์ข ๋ฅ๋ ์์ฃผ ๋ง๋ค.
๋์ปค ์ฌ์ฉ์ ๊ธฐ๋ณธ ์์น
ํ ์ปจํ ์ด๋์ ํ ํ๋ก๊ทธ๋จ์ ์ฐ๋ ๊ฒ์ด ์ข์๋ฐ, ๋ณด์ ๋ฐ ์ ์ง ๊ด๋ฆฌ ์ธก๋ฉด์์ ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ง์ด ์ฐ์ด๋ ์ ์ฑ ์ด๋ค.
ํ ์ปจํ ์ด๋ ์์ ์๋ํ๋ ์ค, ์ํ์น, MySQL์ ๋ค ๋ฃ์ ์๋, ํ ์ปจํ ์ด๋์ ํ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋ฃ์ด ์ด 3๊ฐ์ ์ปจํ ์ด๋๋ฅผ ๋์ปค ์์ง ์์ ์ฌ๋ฆด ์๋ ์๋ค.
์ปจํ ์ด๋์ ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋ฃ์ด์ ๋๋ฆด ์ ์๊ธฐ๋ ํ์ง๋ง ์ด ๊ฒฝ์ฐ๋ ๋์ปค๊ฐ ๊ฐ์ง๋ ๊ฐ์ฅ ํฐ ์ฅ์ ์ธ "๊ฒฉ๋ฆฌ์ฑ"์ ์ํด๋ณด๊ธฐ ๋๋ฌธ์ ๊ถ์ฅํ๋ ๋ฐฉ์์ ์๋๋ผ๊ณ ํ๋ค.
๋์ปค์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์
์ปจํ ์ด๋๋ ์ผ์ข ์ 'ํ๋ก์ธ์ค'๋ค. ๋์ปค ์ปจํ ์ด๋๋ ์ ์ฅ ๊ณต๊ฐ์ ๊ฐ์ง์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ephermeral(์ผ์์ ์ธ)๋ก์จ ์ข ๋ฃ๋๋ฉด ์ปจํ ์ด๋์ ๋ณ๊ฒฝ์ฌํญ์ด ์ฌ๋ผ์ง๋ค.
์ด๋ฅผ ์ ์งํ๊ณ ์ถ์ผ๋ฉด ํธ์คํธ ๋จธ์ ์ ๋๋ ํฐ๋ฆฌ ํน์ ์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ์ธ๋ถ ์ ์ฅ์์ ์ ์ฅํ๊ฑฐ๋ ๋์ปค ๋ณผ๋ฅจ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์งํด์ค๋ค.
์ธ๋ถ ์ ์ฅ์์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ๋์ปค๊ฐ ์ค์น๋ ํธ์คํธ์ ๋์คํฌ๋ฅผ ๋ง์ดํธํด ์ด ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ปจํ ์ด๋๊ฐ ํ๊ธฐ๋๋๋ผ๋ ๋ฐ์ดํฐ๋ ์ปจํ ์ด๋ ์ธ๋ถ์ ์์ ํ๊ฒ ์ ์ฅ๋์ด ์ฌ๋ผ์ง์ง ์๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ์ธ๋ถ์ ์ ์ฅํ๋ฉด ๋ค๋ฅธ ์ปจํ ์ด๋์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์๋ ์์ด์ ๋งค์ฐ ํธ๋ฆฌํ๋ค.
์ปจํ ์ด๋์ ์์ฑ๊ณผ ์ญ์ , ์คํ, ์ ์ง
์ปจํ ์ด๋๋ฅผ ์์ฑ(create) ํ๊ณ ์คํ(start) ํ ๋ค์ ์ ์ง(stop) ํ๊ณ ํ๊ธฐ(rm)ํ๋ ๊ฒ์ด ์ปจํ ์ด๋์ ์์ ์ฃผ๊ธฐ๋ค.
์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ณ ์คํํ๋ ์ปค๋งจ๋
docker run ์ด๋ฏธ์ง
์ปจํ ์ด๋๋ฅผ ์ ์งํ๋ ์ปค๋งจ๋
docker stop ์ปจํ
์ด๋_์ด๋ฆ
์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋ ์ปค๋งจ๋
docker rm ์ปจํ
์ด๋_์ด๋ฆ
๋์ปค ๋ช ๋ น์ด
๋์ปค ์์ง์ ํญ์ ์๋ ์คํ๋๊ฒ ์ค์ ํ๋ ๋ช ๋ น์ด
systemctl enable docker
์ปจํ ์ด๋ ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋
docker container [ ํ์ command ] ์ต์
start: ์์
stop: ์ ์ง
create: ๋์ปค ์ด๋ฏธ์ง๋ก๋ถํฐ ์ปจํ ์ด๋๋ฅผ ์์ฑ
run: ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ๊ณ ์ปจํ ์ด๋๋ฅผ ์์ฑํด ์คํํจ(docker image pull + docker container create + docker container start)
exec: ์คํ ์ค์ธ ์ปจํ ์ด๋ ์์์ ํ๋ก๊ทธ๋จ์ ์คํ
ls: ์ปจํ ์ด๋ ๋ชฉ๋ก์ ์ถ๋ ฅ
commit: ๋์ปค ์ปจํ ์ด๋๋ฅผ ์ด๋ฏธ์ง๋ก ๋ณํ
์ด๋ฏธ์ง ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋
docker image [ ํ์ ์ปค๋งจ๋ ] ์ต์
pull: ๋์ปค ํ๋ธ ๋ฑ์ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์
rm: ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ญ์
ls: ๋ด๋ ค๋ฐ์ ์ด๋ฏธ์ง์ ๋ชฉ๋ก์ ์ถ๋ ฅ
build: ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์์ฑ
๋ณผ๋ฅจ ์กฐ์ ๊ด๋ จ ์ปค๋งจ๋
docker volume [ ํ์ ์ปค๋งจ๋ ] ์ต์
create: ๋ณผ๋ฅจ ์์ฑ
inspect: ๋ณผ๋ฅจ์ ์์ธ ์ ๋ณด๋ฅผ ์ถ๋ ฅ
ls: ๋ณผ๋ฅจ์ ๋ชฉ๋ก์ ์ถ๋ ฅ
prune: ํ์ฌ ๋ง์ดํธ๋์ง ์์ ๋ณผ๋ฅจ์ ๋ชจ๋ ์ญ์
rm: ์ง์ ํ ๋ณผ๋ฅจ์ ์ญ์
์ปจํ ์ด๋ ๋ชฉ๋ก ์ถ๋ ฅ ์ปค๋งจ๋
docker ps -a(์ต์
)
a๊ฐ ๋ถ์ผ๋ฉด ์ ์ง ์ํ์ ์ปจํ ์ด๋๊น์ง ๋ชจ๋ ๋ณด์ฌ์ค๋ค.
์ปจํ ์ด๋์ ํต์ ํ๋ ค๋ฉด
์ํ์น ์๋ฒ์ ๊ฒฝ์ฐ 80๋ฒ ํฌํธ์์ ์น ์ฌ์ดํธ์ ๋ํ ์ ๊ทผ์ ๊ธฐ๋ค๋ฆฌ๋ค๊ฐ ์ฌ์ฉ์๊ฐ ์ด ํฌํธ๋ฅผ ํตํด ์ ๊ทผํด ์ค๋ฉด ์์ฒญ์ ๋ฐ๋ผ ์น ์ฌ์ดํธ์ ํ์ด์ง๋ฅผ ์ ๊ณตํ๋ค. ํ์ง๋ง ์ปจํ ์ด๋ ์์์ ์คํ ์ค์ธ ์ํ์น๋ ์ธ๋ถ์ ์ง์ ์ฐ๊ฒฐ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋ค.
๊ทธ๋์ ์ปจํ ์ด๋๋ฅผ ์คํ ์ค์ธ ๋ฌผ๋ฆฌ์ ์ปดํจํฐ๊ฐ ์ธ๋ถ์ ์ ๊ทผ์ ๋์ ๋ฐ์ ์ ๋ฌํด์ฃผ๋๋ก ํ๋ค.(ํฌํธ ํฌ์๋ฉ)
ํธ์คํธ ๋จธ์ ์ ํฌํธ๋ฅผ ์ปจํ ์ด๋ ํฌํธ์ ์ฐ๊ฒฐํด ๋ฐ์์ ์จ ํต์ ์ ์ปจํ ์ด๋ ํฌํธ๋ก ์ ๋ฌํ๋ ๊ฒ์ด ๋์ปค์ ํฌํธ ํฌ์๋ฉ์ด๋ค.
์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช ํ๋ฉด ์ปจํ ์ด๋๋ฅผ ์คํ ์ค์ธ ์ปดํจํฐ(ํธ์คํธ)์ 8080๋ฒ ํฌํธ์ ์ปจํ ์ด๋์ 80๋ฒ ํฌํธ๋ฅผ ์ฐ๊ฒฐํ๋ค.
-p 8080:80
๋ณผ๋ฅจ ๋ง์ดํธ
๋ณผ๋ฅจ์ด๋?
์คํ ๋ฆฌ์ง์ ํ ์์ญ์ ๋ถํ ํ ๊ฒ์ ๋งํ๋ค. ๊ฐ๋จํ ๋งํ๋ฉด ํ๋๋์คํฌ๋ SSD๋ฅผ ๋ถํ ํ ํ๋์ ์์ญ์ด๋ค. ๊ธฐ๋ค๋ ์นด์คํ ๋ผ๋ฅผ ์๋ฅธ ํ ์กฐ๊ฐ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ดํดํ๊ธฐ ์ฝ๋ค.
๋ง์ดํธ๋?
๋์คํฌ๋ฅผ ์ฐ๊ฒฐํด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ ์ ์๋๋ก ํ ์ํ๋ค.
๋ง์ดํธ ๋๋ ์คํ ๋ฆฌ์ง๋ ๋ณธ๋ ๋ณ๋์ ์ฅ์์ ์์ง๋ง ๋ง์น ์ปจํ ์ด๋ ์์ ์๋ ๊ฒ์ฒ๋ผ ์ค์ ํ๋ค.
๋ฐํํ๋ฉด์ ๋น์ ํ๋ฉด ์ปจํ ์ด๋์ ์คํ ๋ฆฌ์ง๋ฅผ ๊ฐ๋ฆฌํค๋ ๋จ์ถ ์์ด์ฝ์ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ๋ค.
๋ณผ๋ฅจ ๋ง์ดํธ: ๋์ปค ์์ง์ด ๊ด๋ฆฌํ๋ ์์ญ(๋์ปค ์์ง ์์ ์ฌ๋ฆฐ๋ค๊ณ ์๊ฐํ์) ๋ด์ ๋ง๋ค์ด์ง ๋ณผ๋ฅจ์ ์ปจํ ์ด๋์ ๋์คํฌ ํํ๋ก ๋ง์ดํธ ํ๋ค. ์ง์ ์กฐ์ํ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก ์์ ๋ชฉ์ ์ ์ฌ์ฉ์ด๋ ์์ฃผ ์ฐ์ง๋ ์์ง๋ง์ง์ฐ๋ฉด ์ ๋๋ ํ์ผ์ ๋๋ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ค.
๋์ปค ์์ง์ ๊ด๋ฆฌ ํ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ์๊ฐ ํ์ผ ์์น๋ฅผ ์ ๊ฒฝ ์ธ ํ์๊ฐ ์๊ณ , ๋ฐํํ๋ฉด์ ๋๋ค๊ฐ ์ค์๋ก ์ง์๋ฒ๋ฆฌ๋ ์ผ๋ ๋ฐ์ํ์ง ์๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ๊ฒฝ์ ๋ฐ๋ผ ๊ฒฝ๋ก๊ฐ ๋ฐ๋์ง๋ ์๋๋ค.
์ต์ํด์ง๋ฉด ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ณ ๋์ปค ์ ์์ฌ์์๋ ๋ณผ๋ฅจ ๋ง์ดํธ ์ฌ์ฉ์ ๊ถ์ฅํ๋ค.
ํ์ง๋ง ๋ณผ๋ฅจ ๋ง์ดํธ๋ ๋์ปค ์ปจํ ์ด๋๋ฅผ ๊ฒฝ์ ํ์ง ์๊ณ ์ง์ ๋ณผ๋ฅจ์ ์ ๊ทผํ ๋ฐฉ๋ฒ์ด ์๊ณ , ์ต์ง๋ก ์์ ํ๋ ค๊ณ ํ๋ฉด ๋ณผ๋ฅจ ์์ฒด๊ฐ ๊นจ์ง ์ฐ๋ ค๋ ์์ผ๋ฉฐ, ๋ฐฑ์ ์ ์ฐจ๊ฐ ๋ณต์กํ๋ค.
๋ฐ์ธ๋ ๋ง์ดํธ: ๋ฐ๋ฉด ๋์ปค๊ฐ ์ค์น๋ ์ปดํจํฐ์ ๋ฌธ์ ํด๋ ๋๋ ๋ฐํํ๋ฉด ํด๋ ๋ฑ ๋์ปค ์์ง์์ ๊ด๋ฆฌํ์ง ์๋ ์์ญ(์ด์์ฒด์ ์์ ์ฌ๋ฆฐ๋ค๊ณ ์๊ฐํ์)์ ๊ธฐ์กด ๋๋ ํฐ๋ฆฌ๋ฅผ ์ปจํ ์ด๋์ ๋ง์ดํธํ๋ ๋ฐฉ์์ด๋ค. ํด๋ ์์ ํ์ผ์ ์ง์ ๋๊ฑฐ๋ ์ด์ด๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ์์ฃผ ์ฌ์ฉํ๋ ํ์ผ์ ๋๋ ๋ฐ ์ฌ์ฉํ๋ค.
๋์ปค๊ฐ ๊ด๋ฆฌํ์ง ์๋ ์์ญ ์ด๋๋ผ๋ ํ์ผ์ ๋ ์ ์์ผ๋ฉฐ, ๊ธฐ์กด๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ํ์ผ์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ๋ค๋ฅธ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํด ์ฝ๊ฒ ํธ์งํ ์ ์๋ค. ๋์ปค ์์ง๊ณผ ๋ฌด๊ดํ๊ฒ ํ์ผ์ ๋ค๋ฃฐ ์ ์๋ค.
๋ฐ๋ผ์ ํ์ผ์ ์ง์ ํธ์งํ ์ผ์ด ๋ง๋ค๋ฉด ๋ฐ์ธ๋ ๋ง์ดํธ๋ฅผ ์ฌ์ฉํ๊ณ , ๊ทธ๋ ์ง ์๋ค๋ฉด ๋ณผ๋ฅจ ๋ง์ดํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
๋ณผ๋ฅจ ๋ง์ดํธ๋ ๋ณ๋๋ก ๋ณผ๋ฅจ์ ๋จผ์ ์์ฑํ๋ ๊ฒ์ด ์ข๊ณ , ๋ฐ์ธ๋ ๋ง์ดํธ๋ ์๋ณธ์ด ๋ ํด๋๋ ํ์ผ์ ๋จผ์ ๋ง๋ค๋ฉด ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ ์ฌ๋ฌ ๋์ ์๋ฒ์์ ์ปจํ ์ด๋๋ฅผ ์คํํ ๋ ์ฌ์ฉํ๋ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ๋ค. ์ค์ผ์ด์คํธ๋ ์ด์ ๋๊ตฌ๋ ์ฃผ๋ก ๋๊ท๋ชจ ์์คํ ์ ์ด์ํ ๋ ์ฌ์ฉํ๋ค.
Dockerfile
๋์ปค ์ด๋ฏธ์ง ์ค์ ํ์ผ์ ํด๋นํ๋ค.
๋์ปค ์ปดํฌ์ฆ
์์คํ ๊ตฌ์ถ๊ณผ ๊ด๋ จ๋ ๋ช ๋ น์ด๋ฅผ ํ๋์ ํ ์คํธ ํ์ผ(์ ์ ํ์ผ)์ ๊ธฐ์ฌํด ๋ช ๋ น์ด ํ ๋ฒ์ ์์คํ ์ ์ฒด๋ฅผ ์คํํ๊ณ ์ข ๋ฃ์ ํ๊ธฐ๊น์ง ํ ๋ฒ์ ํ๋๋ก ๋์์ฃผ๋ ๋๊ตฌ๊ฐ ๋ฐ๋ก ๋์ปค ์ปดํฌ์ฆ๋ค.
๋์ปค ์ปดํฌ์ฆ์ Dockerfile ์คํฌ๋ฆฝํธ์ ์ฐจ์ด์
๋์ปค ์ปดํฌ์ฆ๋ ํ ์คํธ ํ์ผ์ ๊ธฐ์ฌ๋ ์ ์๋ฅผ ๋ฐ๋ผ ์คํ๋๋ค. ์ด๊ฐ dockerfile๊ณผ ๋น์ทํ๊ฒ ๋๊ปด์ง ์ ์๋ค.
๊ทธ๋ฌ๋ ๋์ปค ์ปดํฌ์ฆ๋ docker run ๋ช ๋ น์ด๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ชจ์๋์ ๊ฒ๊ณผ ๊ฐ๋ค. ์ปจํ ์ด๋์ ์ฃผ๋ณ ํ๊ฒฝ์ ์์ฑํ๊ณ , ๋คํธ์ํฌ์ ๋ณผ๋ฅจ๊น์ง ํจ๊ป ๋ง๋ค ์ ์๋ค.
๋ฐ๋ฉด Dockerfile ์คํฌ๋ฆฝํธ๋ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฒ์ผ๋ก ๋คํธ์ํฌ๋ ๋ณผ๋ฅจ์ ๋ง๋ค ์ ์๋ค.
๋ณธ ํฌ์คํ ์ ๊ทธ๋ฆผ๊ณผ ์ค์ต์ผ๋ก ๋ฐฐ์ฐ๋ ๋์ปค & ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๋ฐํ์ผ๋ก ์์ฑ๋์์ต๋๋ค!
๋ ์์ธํ ๊ฐ๋ ์ ์ฑ ์ ์ ๋์์์ผ๋ ์ฝํ์ ์ค๋ช ์ ์ ์ฐธ์กฐํ์๊ธฐ ๋ฐ๋๋๋ค!
'๐๋คํธ์ํฌ&์๋ฒ > โ๏ธํด๋ผ์ฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํด๋ผ์ฐ๋ ๋ณด์์ ๊ฐ์์ ๊ทธ ์์ธ(1) (0) | 2023.08.02 |
---|---|
์ฟ ๋ฒ๋คํฐ์ค ๊ฐ๋ ์ด์ ๋ฆฌ!!! ๊ทธ๋ฆผ๊ณผ ์ค์ต์ผ๋ก ๋ฐฐ์ฐ๋ ๋์ปค & ์ฟ ๋ฒ๋คํฐ์ค (0) | 2023.07.29 |
ํด๋ผ์ฐ๋ 1์ผ์ฐจ Git (4) | 2023.06.14 |