Docker๋ ๋ฌด์์ด๋ฉฐ ์ปจํ ์ด๋๋ ๋ฌด์์ธ๊ฐ
๊ฐ๋ฐ์ ๊ณต๋ถํ๋ค ๋ณด๋ฉด ์ฌ๊ธฐ์ ๊ธฐ Docker๋ผ๋ ๋จ์ด์ ๋ํด ๋ณด๊ฒ ๋๋ค.
์๋ฐ์ ํ์ด์ฌ์ ๊ณต๋ถํ๋ค๋ณด๋ ์์ฐ์ค๋ฝ๊ฒ ๊ด์ฌ์ด ์๊ธฐ๊ณ ์๋ฌธ์ด ์๊ธฐ๊ฒ ๋ Docker์ ๋ํด ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ๊ณ ์ ๊ธ์ ์์ฑํ๋ค.
์ดํ๋ฆฌ์ผ์ด์
๋ณธ๊ฒฉ์ ์ผ๋ก ์์ํ๊ธฐ ์์, ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ ์ค์ธ ํ๋ก๊ทธ๋จ์ด๋ ์๋น์ค๋ฅผ ์๋ฏธํ๋ค.
Docker๋ ๋ฌด์์ธ๊ฐ ?
Docker๋ ์ปจํ
์ด๋ํ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์คํ ์์ค ํ๋ซํผ์ด๋ค.
์ปจํ
์ด๋๋ ์ดํ๋ฆฌ์ผ์ด์
์ด ๋์ํ๋๋ฐ ํ์ํ ๋ชจ๋ ์ํํธ์จ์ด์ ์ข
์์ฑ์ ํฌํจํ ๋
๋ฆฝ์ ์คํ ํ๊ฒฝ์ด๋ค.
Docker๋ฅผ ์ฌ์ฉํ๋ฉด ์ปจํ
์ด๋๋ก ์ดํ๋ฆฌ์ผ์ด์
์ ํจํค์งํ๊ณ ,
์ด๋ฐ ์ปจํ
์ด๋๋ฅผ ํธ์คํธ ์์คํ
์์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํํ ์ ์๊ฒ ๋๋ค.
๊ทธ๋ฌ๋ ์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ์ปจํ
์ด๋๋ ์ดํ๋ฆฌ์ผ์ด์
์ ์ํ ๋
๋ฆฝ์ ์คํ ํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์
๊ฒฉ๋ฆฌ๋์ด ์๊ณ , ํธ์คํธ ์์คํ
์ ๋ณํ์๋ ์ํฅ์ ๋ฐ์ง ์๋๋ค. ์ฆ, ํธ์คํธ ์์คํ
๊ณผ ์๊ด ์์ด ์ผ๊ด์ฑ ์๊ฒ ์๋ํ๊ฒ ๋๋ค.
์ด๋ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ด์ ํ๊ฒฝ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ค์ด๊ณ , ์ดํ๋ฆฌ์ผ์ด์
์ ์ด์์ฑ๊ณผ ํ์ฅ์ฑ์ ํฅ์ ์ํฌ ์ ์๋๋ก ๋ง๋ ๋ค.
Docker ์ปจํ
์ด๋๊ฐ ํธ์คํธ ์์คํ
์ ๋ณํ์ ์ํฅ์ ๋ฐ์ง ์๋ ๊ฒ์ ๊ฒฉ๋ฆฌ ๋ ํ๊ฒฝ๋๋ฌธ์ด๋ค.
Docker๋ ๋ฆฌ๋
์ค ์ปค๋์ ๋ค์์คํ์ด์ค ๊ธฐ๋ฅ์ ์ฌ์ฉํด ์ปจํ
์ด๋์ ํ๋ก์ธ์ค, ๋คํธ์ํฌ, ํ์ผ ์์คํ
๋ฑ์ ๊ฒฉ๋ฆฌ์ํจ๋ค.
๊ทธ๋ ๊ธฐ์ ๊ฐ ์ปจํ
์ด๋๋ ๋
๋ฆฝ๋ ๋ค์์คํ์ด์ค๋ฅผ ๊ฐ๊ณ , ํธ์คํธ ์์คํ
์ด๋ ๋ค๋ฅธ ์ปจํ
์ด๋์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ๊ฒฉ๋ฆฌ๋๋ ๊ฒ์ด๋ค.
๋ํ, Docker๋ ์ปจํธ๋กค ๊ทธ๋ฃน ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๊ฐ ์ปจํ
์ด๋์ ๋ฆฌ์์ค ์ ํ์ ์ค์ ํ๊ธฐ๋ ํ๋ค. ์ด๋ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๊ฒ ๋ถ๋ฐฐํ๊ณ
ํน์ ์ปจํ
์ด๋๊ฐ ๋ค๋ฅธ ์ปจํ
์ด๋์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ๋ง๋ ๋ค.
Docker ์ปจํ
์ด๋๋ ๊ฐ ์ปจํ
์ด๋๊ฐ ๋
๋ฆฝ๋ ํ์ผ ์์คํ
์ ๊ฐ๊ณ ์๊ณ , ํธ์คํธ ์์คํ
์ ํ์ผ๊ณผ๋ ๋ถ๋ฆฌ๋์ด ์๋ค.
์ด๋ฅผ ํตํด ์ปจํ
์ด๋ ๊ฐ ํ์ผ ์์คํ
์ถฉ๋์ ๋ฐฉ์งํ๋, ๊ฐ ์ปจํ
์ด๋๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ํ์ผ์ ์์ ํ๊ณ ๊ด๋ฆฌํ๋๋กํ๋ค.
๋ง์ง๋ง์ผ๋ก, Docker๋ ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋ ๊ฐ์ ํต์ ์ ๊ด๋ฆฌํ๋ค.
๊ฐ ์ปจํ
์ด๋๋ ๋
๋ฆฝ๋ IP ์ฃผ์๋ฅผ ๊ฐ๋๋ฐ, ์ด๋ ํธ์คํธ ์์คํ
๋ฐ ๋ค๋ฅธ ์ปจํ
์ด๋์ ๊ฒฉ๋ฆฌ๋ ๋คํธ์ํฌ๋ฅผ ํ์ฑํ๋ค.
๊ทธ๋ ๊ธฐ์ ์ปจํ
์ด๋ ๊ฐ์ ๋คํธ์ํฌ ์ถฉ๋ ํน์ ๊ฐ์ญ์ ๋ฐฉ์งํ ์ ์๊ณ ๋ณด์๋ ๊ฐํํ ์ ์๋ ๊ฒ์ด๋ค.
๊ณ์๋์ด ์ธ๊ธ๋๋ ํธ์คํธ ์์คํ
์ Docker๋ฅผ ์คํํ๊ธฐ ์ํด ๊ธฐ๋ฐ์ด ๋๋ ์ด์ ์ฒด์ ์ ํ๋์จ์ด๋ฅผ ์๋ฏธํ๋ค.
์ฝ๊ฒ ๋งํ๋ฉด Docker ์ฌ์ฉ์์ ๊ธฐ๋ฐ ์์คํ
์ ์๋ฏธํ๋ค.
์ปจํ
์ด๋๋ ์ด๋ฌํ ํธ์คํธ ์์คํ
์์์ ๋์ํ์ง๋ง ํธ์คํธ ์์คํ
๊ณผ๋ ๋
๋ฆฝ์ ์ผ๋ก ์คํํ ์ ์๋ค.
Docker์ ํต์ฌ ๊ฐ๋
์ ์ด๋ฏธ์ง, ์ปจํ
์ด๋ ๊ทธ๋ฆฌ๊ณ ๋ ์ง์คํธ๋ฆฌ๋ค. ๋ฌผ๋ก ๋ ๊ณต๋ถํด์ผํ ๊ฒ์ด ๋ง์๋ณด์ด์ง๋งโฆ ๊ฐ๋ก ์ผ๋ก..
์ด๋ฏธ์ง๋ ์ดํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ๊ฑธ ์คํํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ ์์, ์ข ์์ฑ์ ํจํค์งํ ๊ฒ์ ์๋ฏธํ๋ค.
์ฝ๊ธฐ ์ ์ฉ์ด๊ณ , ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ด๋ฏธ์ง๋ Dockerfile์ด๋ textํ์ผ์ ์ํด ์ ์๋๋ฉฐ Docker ๋ช ๋ น์ ์ฌ์ฉํด ๋น๋ํ ์ ์๋ค.
์ปจํ ์ด๋๋ ์ด๋ฏธ์ง์ ์ธ์คํด์ค์ด๋ค. ์ปจํ ์ด๋๋ ์์ ์์ฐจ๋ก ์ธ๊ธ์ฒ๋ผ ํธ์คํธ ์์คํ ๊ณผ ๋ ๋ฆฝ๋์ด์๊ณ , ๋ค๋ฅธ ์ปจํ ์ด๋์๋ ๋ถ๋ฆฌ๋์ด ์๋ํ๋ค.
๋ ์ง์คํธ๋ฆฌ๋ Docker ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ์ค์ ์ ์ฅ์๋ฅผ ์๋ฏธํ๋ค. ๊ฐ์ฅ ์ ์๋ ค์ง ๋ ์ง์คํธ๋ฆฌ๋ Docker Hub์ด๊ณ ,
๊ณต๊ฐ ์ด๋ฏธ์ง์ ๊ฐ์ธ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ ์ ์์ผ๋ฉฐ ๋ ๋ฆฝ์ ์ธ ๋ ์ง์คํธ๋ฆฌ๋ ๊ตฌ์ถํด ์ฌ์ฉํ ์ ์๋ค.
Docker ์ฅ์ ๊ณผ ์ด์
Docker๋ ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ์ ์์ด ์๋นํ ํ์ ์ ์ผ๋ก ์ ๊ทผํ๋ค.
์์ Docker ์ปจํ
์ด๋๊ฐ ํธ์คํธ ์์คํ
๊ณผ ๊ฒฉ๋ฆฌ๋์ด ์๊ธฐ์ ์ดํ๋ฆฌ์ผ์ด์
์ ์ด์์ฑ๊ณผ ํ์ฅ์ฑ์ ํฅ์ ์ํฌ ์ ์๋๋ก ํ๋ค๊ณ ์ธ๊ธํ๋ค.
์ปจํ
์ด๋๊ฐ ์ดํ๋ฆฌ์ผ์ด์
๊ณผ ๊ทธ ์ข
์์ฑ์ ํจํค์งํ๋ ์์ ํ ์คํ ํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ์ปจํ
์ด๋๋ ๋ค๋ฅธ ํ๊ฒฝ์ผ๋ก ์ฝ๊ฒ ์ด๋ํ๊ฑฐ๋ ๋ฐฐํฌํ๋๊ฒ ๊ฐ๋ฅํด์ง๋ค.
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ๊ฐ๋ฐํ ์ดํ๋ฆฌ์ผ์ด์
์ ๋์ผํ ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํด ํ๋ก๋์
ํ๊ฒฝ์ผ๋ก ์ด๋ํ ์ ์๊ณ , ์ด ๋ ํธ์คํธ ์์คํ
๋ณํ์ ์ํฅ์ ๊ฑฐ์ ๋ฐ์ง ์๋๋ค.
์ด๊ฒ์ ์ด์์ฑ(Potability)๋ผ๊ณ ํ๋ค. ๋ด๊ฐ ๊ฐ๋ฐํ ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋ด ์ปดํจํฐ ์์คํ ์์๋ง ์ฌ์ฉํ ๊ฒ์ด ์๋์ง ์์๊ฐ.
Docker๋ ์ปจํ
์ด๋๋ฅผ ์ฝ๊ฒ ๋ณต์ ํ๊ณ ํ์ฅํ ์ ์๋๋ก ๊ทธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์ฌ๋ฌ ๊ฐ์ ๋์ผํ ์ปจํ
์ด๋ ์ธ์คํด์ค๋ฅผ ์คํํด ์ดํ๋ฆฌ์ผ์ด์
์ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ค.
์ด๋ฌํ ํ์ฅ์ฑ(Scalability)์ ์ํ์ ์ธ ํ์ฅ์ฑ์ ๊ฐ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ถํ ์ ์๊ฒ ๋ง๋ ๋ค.
DOcker ์ปจํ
์ด๋๋ ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ์ ํตํด ๊ฐ ์ปจํ
์ด๋๊ฐ ์์ฒด ํ์ผ ์์คํ
, ๋คํธ์ํฌ, ํ๋ก์ธ์ค ๊ณต๊ฐ์ ๊ฐ๋๋ก ํ๊ณ ,
ํธ์คํธ ์์คํ ๋ฐ ๋ค๋ฅธ ์ปจํ ์ด๋์ ๊ฒฉ๋ฆฌ(Isolation)๋์ด ์๋ํ๋๋ก ํ๋ค.
์ด๋ฅผ ํตํด ์ดํ๋ฆฌ์ผ์ด์
๊ฐ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ ๋ณด์์ ๊ฐํํ๋ฉฐ, ์์กด์ฑ ์ถฉ๋์ ์ต์ํํ๋ค.
Docker๋ ์ธํ๋ผ์คํธ๋ญ์ฒ๋ฅผ ์ฝ๋๋ก ๊ด๋ฆฌํ๋ ๊ฐ๋
์ธ โ์ธํ๋ผ์คํธ๋ญ์ฒ ์ง์โ์ ์ ์ฉํ ์ ์๋ค.
Dockerfile์ ์ฌ์ฉํด ์ดํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑ์ ์ ์ํ๊ณ , Docker Compose๋ฅผ ์ฌ์ฉํด ์ฌ๋ฌ ์ปจํ
์ด๋๋ก ๊ตฌ์ฑ๋ ์ดํ๋ฆฌ์ผ์ด์
์คํ์ ์ ์ํ ์ ์๋ค.
์ฆ, ๋ฐ๋ณต ๊ฐ๋ฅํ๊ณ ์๋ํ๋ ๋ฐฉ์์ผ๋ก ์ดํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑํ๊ณ ๋ฐฐํฌํ ์ ์๋๋ก ๋ง๋ ๋ค.
์ด๋ฌํ ๋น ๋ฅธ ๊ตฌ์ฑ(Configuration)์ Docker์ ์ฅ์ ์ด์ ์ด์ ์ด๋ค.
๊ฒฐ๊ตญ Docker๋ ๊ฐ๋ฐ์๊ฐ ์ผ๊ด๋ ํ๊ฒฝ์์ ๊ฐ๋ฐํ๊ณ ์ด์ํ์ ์ฝ๊ฒ ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ถํ๋๋ก ๋๋๋ค. ์ด๋ ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ ์ฌ์ด ๊ฐ๊ทน์ ์ค์ด๊ณ , ํ์ ๊ณผ ์ ๋ฌ ์๋๋ฅผ ํฅ์์ํจ๋ค๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ์ด์ ์ด๋ค.
Docker ์ค์น์ ์ค์
1. Docker ์ค์น : ๊ณตํ ์ค์น
ํ์๋ macOS๋ผ homebrew ์ฌ์ฉ , brew install docker , brew install docker-compose
2. Docker Daemon ์คํ
win, macOs : Docker Desktop ์คํ ์ ์๋ ์คํ
linux : sudo systemctl start docker
3. ์ฌ์ฉ์ ๊ถํ ์ค์ : ํ์ฌ ์ฌ์ฉ์๋ฅผ Docker ๊ทธ๋ฃน์ ์ถ๊ฐ, ์ถ๊ฐ ํ ์ฌ๋ก๊ทธ์ธ
์ฌ์ฉ์ ๊ทธ๋ฃน ์ถ๊ฐ : sudo usermod-aG docker ์ฌ์ฉ์์ด๋ฆ
4. Docker ํ์ธ : docker version
docker run hello-world ํตํด ์๋ ํ์ธ
์ค์ | ๋ด์ฉ |
---|---|
docker build | Dockerfile ์์ฑ ํ ์ฌ์ฉ, ์ด๋ฏธ์ง ๋น๋ |
docker run | ์ปจํ ์ด๋ ์คํ |
docker stop | ์ปจํ ์ด๋ ์ค์ง |
docker ps | ์ปจํ ์ด๋ ๋ชฉ๋ก ์กฐํ |
-v / โmount | ๋ณผ๋ฅจ ๋ง์ดํธ |
-p / โpublish | ํฌํธ ๋งคํ |
-v / โenv | ํ๊ฒฝ ๋ณ์ ์ค์ |
โrestart | ์ฌ์์ ์ ์ฑ ์ค์ , ์ฌ์์ ์กฐ๊ฑด, ํ์ ์ ํ ๋ฑ ์ค์ |
- ๋ณผ๋ฅจ ๋ง์ดํธ : ํธ์คํธ ํ์ผ ์์คํ ๋ํ ํ ๋ฆฌ๋ฅผ ์ปจํ ์ด๋ ๊ฒฝ๋ก์ ๋ง์ดํธ
- ํฌํธ ๋งคํ : ํฌํธ ๋งคํ์ ์ฌ์ฉํด ์ปจํ ์ด๋ ๋ด๋ถ ํฌํธ๋ฅผ ํธ์คํธ์ ํฌํธ์ ๋งคํ, ์ปจํ ์ด๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ธ๋ถ ์ ๊ทผ ๊ฐ๋ฅ
- ํ๊ฒฝ ๋ณ์ ์ค์ : ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํด ์ปจํ ์ด๋ ๋ด๋ถ ์ค์ ์ง์ , ์ด๋ฅผ ํตํด ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ์ ์ ์ฐํ๊ฒ ๊ด๋ฆฌ ๋ฐ ์ค์ ์กฐ์
- Docker Compose : ๋ค์ค ์ปจํ ์ด๋ ๊ด๋ฆฌ๋ค.
- CI/CD ํ์ดํ๋ผ์ธ ํตํฉ : Continuos Integration/ Continuos Deployment๋ก
Docker์ด๋ฏธ์ง๋ก ์ดํ๋ฆฌ์ผ์ด์ ๋น๋, ํ ์คํธ ํ ์ด๋ฏธ์ง๋ฅผ ๋ ์ง์คํธ๋ฆฌ์ ํธ์ํ์ฌ ๋ฐฐํฌํ๋ ๋จ๊ณ์์ ์ฌ์ฉํ๋ค.
Jenkins, GitLab CICD, CircleCI๋ Docker๋ฅผ ์ฌ์ฉํ ํ์ดํ๋ผ์ธ์ ์ ๊ณตํ๋ค. - ๋คํธ์ํฌ ์ค์ : Docker๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปจํ
์ด๋ ๊ฐ ๋คํธ์ํฌ ํต์ ์ ์ง์, ์ฌ๋ฌ ์ปจํ
์ด๋๊ฐ ๋์ผ ๋คํธ์ํฌ์ ์์ ๋ ์๋ก ํต์ ๊ฐ๋ฅ
- ๋ก๊น
์ค์ (Logging) : Docker๋ ์ปจํ
์ด๋์ ๋ก๊ทธ๋ฅผ ์์ง, ๊ด๋ฆฌํ๋ ๋ก๊น
๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํ๋ค.
๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์ ํด ์ปจํ ์ด๋์ ๋ก๊ทธ๋ฅผ ์ค์ ์ง์ค์ ๋ก๊ทธ ์์คํ ์ ์ ์กํ๊ฑฐ๋ ํ์ผ๋ก ์ ์ฅ ๊ฐ๋ฅํ๋ค.
Prometheus, Grafana, ELK ์คํ์ด ๋ํ์ ๋ก๊น ๋ฐ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ค. - ์๋ ์ฌ์์(Automatic Restart) : ์ปจํ ์ด๋๊ฐ ๋น์ ์ ์ข ๋ฃ๋์ ๋, ์๋์ผ๋ก ์ฌ์์
๊ฐ์ํ ๊ฐ๋ : Docker ์ด๋ฏธ์ง์ ์ปจํ ์ด๋
Docker ์ด๋ฏธ์ง๋ ์ดํ๋ฆฌ์ผ์ด์
์ด ์คํํ๋๋ฐ ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ ์์์ ์ข
์์ฑ์ ํจํค์งํ ๊ฒ์ด๋ผ๊ณ ์ธ๊ธํ๋ค.
๋ณดํต ์ด๋ฏธ์ง๋ ํ ๊ฐ์ ๋ ์ด์ด๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋๋๋ฐ, ๊ฐ ๋ ์ด์ด๋ ์ดํ๋ฆฌ์ผ์ด์
์ ํน์ ๋ถ๋ถ์ ๋ํ๋ธ๋ค.
Ubuntu ๋ ์ด์ด, ์ข
์์ฑ ๋ ์ด์ด, ์ฝ๋ ๋ ์ด์ด ๋ฑ์ด ๊ทธ ์๋ค.
Docker ์ด๋ฏธ์ง๋ ์ฌ๋ฌ ๊ฐ์ ๋ ์ด์ด๋ค์ ๊ณ์ธต์ ์ผ๋ก ์์์ ๊ตฌ์ฑ๋๋ค.
์ด๋ฏธ์ง๋ ์ปจํ
์ด๋์ ๊ธฐ๋ฐ์ด ๋๊ณ , Docker Hub ๊ฐ์ ๋ ์ง์คํธ๋ฆฌ์์ ๊ณต์ ๋๋ค.
์ปจํ
์ด๋๋ ์ด๋ฏธ์ง์ ์ธ์คํด์ค์ด๋ค. ํํ ์ธ์คํด์ค๋ ์ถ์์ ๊ฐ๋
์ธ ํด๋์ค์์ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค.
๊ฐ ์ปจํ
์ด๋๋ ๊ณ ์ ํ ํ์ผ ์์คํ
, ๋คํธ์ํฌ, ํ๋ก์ธ์ค ๊ณต๊ฐ ๋ฑ์ ๊ฐ์ง๊ณ ํธ์คํธ ์์คํ
๊ณผ ๋ถ๋ฆฌ๋์ด ์คํ๋๋ค.
์ปจํ
์ด๋๋ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋๋๋ฐ, ์ปจํ
์ด๋๋ฅผ ์คํํ ๋ ์ด๋ฏธ์ง์ ๋ ์ด์ด๊ฐ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธ๋๊ณ
์ปจํ
์ด๋์ ๋ณ๊ฒฝ ์ฌํญ์ ์ปจํ
์ด๋ ๋ด๋ถ์ ์ ์ฅ๋๊ฒ ๋๋ค.
Docker ์ปจํ
์ด๋๊ฐ ๋
๋ฆฝ์ ์ธ ํ๊ฒฝ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ๊ฐ์ ๋จธ์ ๊ณผ ๋น์ทํ ๊ฐ์ํ ๊ฐ๋
์ผ๋ก ์ดํดํ ์ ์๋ค.
๋ค๋ฅธ ์ ์ Docker๋ ์ ์ฒด ์ด์ ์ฒด์ ๋ฅผ ๊ฐ์ํํ์ง ์๊ณ ํธ์คํธ ์์คํ ์ ๊ฑฐ๋์ ๊ณต์ ํ๋ฉฐ ๊ฒฉ๋ฆฌ๋ ํ๋ก์ธ์ค ๊ณต๊ฐ์ ์ ๊ณตํ๋
๊ฒฝ๋ํ ๋ ๊ฐ์ํ ๋ฐฉ์์ด๋ผ๋ ์ ์ด๋ค.
๊ฒฝ๋ํ ๋ ๊ฐ์ํ ๋ฐฉ์์ ์ปจํ ์ด๋๊ฐ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ฒ ์คํ๋๊ฒ ํ๊ณ , ํธ์คํธ ์์คํ ๊ณผ์ ์ํธ ์์ฉ์ ์ฉ์ดํ๊ฒ ํ๋ค.
์ดํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ : Dockerfile์ ์ฌ์ฉํ์ฌ ์ปค์คํ ์ด๋ฏธ์ง ์์ฑ
- Dockerfile ์์ฑ : ์ํ๋ ์ด๋ฏธ์ง ์ ํ ํ Dockerfile ์์ฑํ๋ค.
๋ช ๋ น๋ฌธ + ์ง์์ด / ์ดํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ฅ์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ๊ตฌ์ฑํ๋ค.- ๊ธฐ๋ณธ ์ด๋ฏธ์ง ์ ํ : Dockerfile์์ FROM ์ง์์ด๋ฅผ ์ฌ์ฉํด ๊ธฐ๋ณธ ์ด๋ฏธ์ง ์ ํ
๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํด ํ์ํ ์ด์์ฒด์ ์ ์ํํธ์จ์ด ํ๊ฒฝ์ ์ ๊ณตํ๋ค.- ์ดํ๋ฆฌ์ผ์ด์ ์ข ์์ฑ ์ค์น : RUN ์ง์์ด ์ฌ์ฉ
ํจํค์ง ๊ด๋ฆฌ์๋ ๊ธฐํ ์ค์น ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ์ํํธ์จ์ด๋ฅผ ์ค์นํ๊ฑฐ๋ ์์กด์ฑ์ ํด๊ฒฐํ๋ค.- ์ดํ๋ฆฌ์ผ์ด์ ํ์ผ ๋ณต์ฌ : COPY ์ง์์ด ์ฌ์ฉ
๋ก์ปฌ ํ์ผ ์์คํ -> Docker ์ด๋ฏธ์ง๋ก ๋ณต์ฌ / ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ค ์ฝ๋, ์ค์ ํ์ผ ๋ฑ์ด ์ด๋ฏธ์ง ๋ด๋ถ๋ก ํฌํจ- ํฌํธ ๋ ธ์ถ : EXPOSE ์ง์์ด ์ฌ์ฉ
์ธ๋ถ์์ ํด๋น ํฌํธ๋ก ์ปจํ ์ด๋์ ์ ๊ทผํ ๋ก ์ค์ - ์คํ ๋ช ๋ น ์ค์ : CMD ๋๋ ENTRYPOINT ์ง์์ด ์ฌ์ฉ
์ปจํ ์ด๋๊ฐ ์์๋ ๋ ์คํ๋๋ ๋ช ๋ น์ ์ค์ / ์ดํ๋ฆฌ์ผ์ด์ ์คํ ๋ช ๋ น์ด ์ง์ ๋๊ณ ์คํ ํ๊ฒฝ์ ๊ตฌ์ฑ- Docker ์ด๋ฏธ์ง ๋น๋ : Dockerfile์ ์ฌ์ฉํด ์ปค์คํ ์ด๋ฏธ์ง ๋น๋, docker buid ๋ช ๋ น ์ฌ์ฉ
Dockerfile ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฏธ์ง ์์ฑํ๊ณ ํ๊ทธ ์ง์ - ์ปจํ ์ด๋ ์คํ : docker run ๋ช ๋ น ์ฌ์ฉ
์ปค์คํ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํด ์ปจํ ์ด๋๋ฅผ ์คํํ๊ณ ์ดํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ
์ดํ๋ฆฌ์ผ์ด์ ์คํ ๊ด๋ฆฌ ๊ฐ์ํ : Docker Compose ๋ค์ค ์ปจํ ์ด๋ ํ๊ฒฝ ๊ตฌ์ถ
Docker Compose๋ ์ฌ๋ฌ ๊ฐ์ ์ปจํ
์ด๋๋ก ๊ตฌ์ฑ๋ ์ดํ๋ฆฌ์ผ์ด์
์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋๊ตฌ๋ค.
Compose๋ ์ฃผ๋ก ๋ค์ค ์ปจํ
์ด๋ ํ๊ฒฝ์ ๊ฐํธํ๊ฒ ๊ตฌ์ถํ๊ณ , ์ดํ๋ฆฌ์ผ์ด์
์คํ์ ๊ด๋ฆฌํ๋๋ฐ ์ฌ์ฉํ๋ค.
๊ฐ๋ฐ์์ ์
์ฅ์์ ์์นซ ๋ณต์กํด์ง ์ ์๋ ์ฌ๋ฌ ๊ฐ์ ์ปจํ
์ด๋๋ฅผ ๊ฐ๋จํ ๋ช
๋ น์ด๋ฅผ ํตํด ์ดํ๋ฆฌ์ผ์ด์
์ ์คํํ๊ณ , ๊ด๋ฆฌํ๋ฉฐ ํ์ฅ ํ ์ ์๋ค.
๋ค์ค ์ปจํ ์ด๋ ํ๊ฒฝ ๊ตฌ์ถ
- ๋จ์ผ ํ์ผํ(YAML)
Docker Compose๋ YAML ํ์ผ๋ก ์ดํ๋ฆฌ์ผ์ด์
์ ์๋น์ค, ๋คํธ์ํฌ, ๋ณผ๋ฅจ, ํ๊ฒฝ ๋ณ์ ๋ฑ์ ๊ตฌ์ฑํ๋๋ฐ,
YAML ํ์ผ์๋ ๊ฐ ์ปจํ ์ด๋์ ๊ตฌ์ฑ์ด๋ ์ข ์์ฑ์ ๋ช ์ ํ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ดํ๋ฆฌ์ผ์ด์ ์ ๋จ์ผ ํ์ผ๋ก ๊ตฌ์ฑํ๊ณ ,
์ด ํ์ผ๋ค์ ํตํด์ ๋ค์ค ์ปจํ ์ด๋ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๊ฒ ๋ง๋ ๋ค. - ๋คํธ์ํฌ ์ฐ๊ฒฐ (Network)
Docker Compose๋ ๊ฐ ์ปจํ
์ด๋ ๊ฐ์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ,
์ปจํ ์ด๋ ๊ฐ์ ํต์ ์ ์ํด ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ณ ์ปจํ ์ด๋ ๊ฐ์ ์๋น์ค ๋ฐ๊ฒฌ์ ์ฉ์ดํ๊ฒ ๋ง๋ ๋ค.
์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ค์ค ์ปจํ ์ด๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ์ด๋ ๊ด๋ฆฌ๋ฅผ ๊ฐํธํ๊ฒ ๋ง๋ ๋ค. - ํ์ฅ๊ณผ ์กฐ์
Docker Compose๋ ๋์ผํ Compose ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ์ธ์คํด์ค์ ์ปจํ
์ด๋๋ฅผ ์คํํ ์ ์๊ณ ,
์ปจํ ์ด๋์ ๊ฐ์๋ฅผ ์กฐ์ ํด์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ถํ์ ๋ฐ๋ผ ํ์ฅํ ์ ์๋ค. - ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ด์ ํ๊ฒฝ์ ์ผ์นํ
๋ํ, Docker Compose๋ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ด์ ํ๊ฒฝ์ ์ผ์น์ํฌ ์๋ ์๋๋ฐ,
๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ Compose ํ์ผ์ ์ด์ ํ๊ฒฝ์์๋ ๋์ผํ๊ฒ ์ฌ์ฉํด ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ์ ์๋ค.
์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ๊ณผ ์ด์ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ต์ํ์ํค๊ณ ์ดํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ๊ณผ์ ์ ํ์คํ์ํฌ ์ ์๋ค.
Docker Networking : ์ปจํ ์ด๋ ๊ฐ ํต์ , ์ธ๋ถ ์ฐ๊ฒฐ ์ค์
Docker์์๋ ์ปจํ
์ด๋ ๊ฐ์ ํต์ ์ด๋ ์ธ๋ถ๋ ์ฐ๊ฒฐ์ ์ํด์ ๋คํธ์ํน ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์ปจํ
์ด๋ ๊ฐ ํต์ ์ ๋ด๋ถ์ ์ผ๋ก ๋์ปค ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํด์ ์ด๋ฃจ์ด์ง๊ณ , ์ธ๋ถ๋ ์ฐ๊ฒฐ์ ํฌํธ ๋งคํ์ ํตํด ์ด๋ค์ง๋ค.
Docker ๋คํธ์ํฌ
Docker๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปจํ
์ด๋ ๊ฐ ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ์์ฑํด ํต์ ํ ์ ์๊ฒ ํ๋ค.
์ด ๊ฐ์ ๋คํธ์ํฌ๋ Docker ๋ธ๋ฆฟ์ง ๋คํธ์ํฌ๋ผ๊ณ ๋ถ๋ฆฌ๊ณ , Docker ์์ง์ ์ํด ์๋ ์์ฑ๋๋ค.
๋์ผํ Docker ํธ์คํธ์์ ์คํ ์ค์ธ ์ปจํ
์ด๋๋ ํด๋น ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋์ด P ์ฃผ์ ํน์ ์ปจํ
์ด๋ ์ด๋ฆ์ผ๋ก ์๋ก ํต์ ํ ์ ์๋ค.
ํฌํธ ๋งคํ
์ปจํ
์ด๋๋ฅผ ์ธ๋ถ๋ก ๋
ธ์ถํ๊ณ ์ถ์ ๋๋ ํฌํธ ๋งคํ์ ์ฌ์ฉํ๋ค.
Docker ์ปจํ
์ด๋๋ ํธ์คํธ ๋จธ์ ์ ํฌํธ์ ์ปจํ
์ด๋์ ํฌํธ๋ฅผ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ,
์ด๋ฐ ๊ธฐ๋ฅ์ ์ธ๋ถ์์ ํธ์คํธ ๋จธ์ ์ IP ์ฃผ์์ ํด๋น ํฌํธ๋ก ์ ์ํด ํด๋น์ปจํ
์ด๋์ ์๋น์ค์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ค.
์ ํ
์ด๋ธ ํ๊ธฐ์ฒ๋ผ ํฌํธ ๋งคํ์ -p / โpublish ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํด ์ค์ ๊ฐ๋ฅํ๋ค.
์์
docker run -p 80:80 <imgName>
์ ์์๋ ํธ์คํธ ๋จธ์ ์ 80๋ฒ ํฌํธ์ ์ปจํ
์ด๋์ 80๋ฒ ํฌํธ๊ฐ ์ฐ๊ฒฐ๋์ด
์ธ๋ถ์์ ํธ์คํธ ๋จธ์ ์ IP ์ฃผ์์ 80๋ฒํฌํธ๋ก ํด๋น ์ปจํ
์ด๋์ ์น ์๋ฒ์ ์ ๊ทผํ ์ ์๋๋กํ๋ค.
Docker์ ํด๋ผ์ฐ๋ : ์ค์ผ์คํธ๋ ์ด์ ๊ณผ ์๋น์ค ๋ฐฐํฌ
Docker์ ํด๋ผ์ฐ๋๋ ์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
๊ณผ ์๋น์ค ๋ฐฐํฌ๋ฅผ ์ง์ํ๋ค.
- ์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
์ ์ฌ๋ฌ ๊ฐ์ ์ปจํ
์ด๋๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ๊ณ ์กฐ์จํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํ๋ค.
์ค์ผ์คํธ๋ ์ด์ ์ ์ปจํ ์ด๋์ ๋ฐฐํฌ, ํ์ฅ, ๋ก๋๋ฐธ๋ฐ์ฑ, ์ฅ์ ๋ณต๊ตฌ ๋ฑ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋๋ฐ ์ฌ์ฉํ ์ ์๋ค.
๋ํ ํด๋ก Kubernetes, Docker Swarm, Apache Mesos๊ฐ ์๋ค. - ์๋น์ค ๋ฐฐํฌ
Docker์ ํด๋ผ์ฐ๋์ ์กฐํฉ์ ์ดํ๋ฆฌ์ผ์ด์
์ ์๋น์ค ๋ฐฐํฌ๋ฅผ ๋จ์ํํ ์ ์๋ค.
ํด๋ผ์ฐ๋ ํ๋ซํผ์ Docker ์ปจํ ์ด๋๋ฅผ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๊ณ ,
์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ์ ๋ก๋ํ๊ณ , ํ์ํ ๋ฆฌ์์ค๋ฅผ ํ ๋นํ๋ฉฐ, ๋ฐฐํฌ๋ฅผ ์๋ํํ ์ ์๋ค.
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ์๋น์ค ๋ฐฐํฌ๋ ํ์ฅ์ฑ์ด ๋๊ณ ์ ์์ ์ ์ ๊ณตํ๋ฉฐ, ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ฒ ํ์ฅํ๊ฑฐ๋ ์ถ์ํ๋๋ฐ ๋์์ ์ค๋ค.
Docker ๋ณด์๊ณผ ๋ชจ๋ํฐ๋ง : ์ฃผ์ ๊ณ ๋ ค ์ฌํญ
๋ณด์
์ปจํ
์ด๋ ์ด๋ฏธ๋ ์ ๋ขฐํ ์ ์๋ ์์ค์์ ๊ฐ์ ธ์ค๊ณ , ๊ณต์ ์ด๋ฏธ์ง๋ ์ ๋ขฐ ๊ฐ๋ฅํ ๋ ์ง์คํธ๋ฆฌ์์ ํ์ฉํด์ผํ๋ค.
์ด๋ฏธ์ง์ ์ทจ์ฝ์ ์ ๋ณด์ํ๋๋ก ์ฃผ๊ธฐ์ ์
๋ฐ์ดํธ๋ฅผ ํด์ผํ๊ณ ๋ณด์ ํจ์น๋ฅผ ์ ์ฉํด์ผํ๋ค.
์ปจํ
์ด๋ ๊ฐ์ ๊ฒฉ๋ฆฌ๋ ๊ฐ๋ฅํ ์ ์งํด ๋ค๋ฅธ ์ปจํ
์ด๋์ ์นจ๋ฒํ์ง ์๋๋ก ํด์ผํ๋ค.
์ปจํ
์ด๋ ์คํ ์์ ํญ์ ํ์ํ ์ต์ํ์ ๊ถํ๋ง์ ๋ถ์ฌํ๊ณ ํธ์คํธ์ ๊ณต์ ๋ ์ต์ํธ ํด์ผํ๋ค.
SELinux๋ AppArmor, seccomp ํ๋กํ์ผ์ ์ค์ ํ๋ ๊ฒ๋ ์ถ๊ฐ ๋ณด์์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ชจ๋ํฐ๋ง
์ปจํ
์ด๋์ ๋ก๊ทธ๋ฅผ ์ค์ ์ง์คํํ๊ณ ๋ชจ๋ํฐ๋งํด์ ์ดํ๋ฆฌ์ผ์ด์
์ด๋ ์์คํ
์ ๋ฌธ์ ๋ฅผ ํ์
ํด์ผํ๋ค.
์ด๋ฅผ ์ํด ๋ก๊น
๋ถ์ ๋๊ตฌ๋ ๋ถ์ ์์คํ
์ ํ์ฉํ ์ ์๋ค.
์ปจํ
์ด๋์ ์์ ์ฌ์ฉ๋ ์๋ฅผ ๋ค์ด, CPUU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋คํธ์ํฌ ๋ฑ์ ๋ชจ๋ํฐ๋งํ๊ณ ์ฑ๋ฅ ์ด์๋ฅผ ์๋ณํด์ผํ๋ค.
์ฑ๋ฅ์ ์ถ์ ํ๊ณ ์ฑ๋ฅ์ ๋ฐ๋ผ ์ ์ ํ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ ์ํจ์ด๋ค.
์ปจํ
์ด๋๋ ํธ์คํธ ์์คํ
์์ ๋ณด์ ์ด๋ฒคํธ๋ฅผ ๋ชจ๋ํฐ๋งํด ์
์ฉ ์๋๋ฅผ ํ์งํ๊ณ ๋์ํด์ผํ๋ค.
IDS(์นจ์
๊ฐ์ง์์คํ
) ๋ IPS(์นจ์
๋ฐฉ์ง์์คํ
), ์ทจ์ฝ์ ์ค์บ๋๋ฑ์ ์ฌ์ฉํ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ง์์ ํตํฉ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค์ ํตํฉ : CI/CD
CI๋ Continuos Integration๋ก ์ง์์ ์ธ ํตํฉ์ ์๋ฏธํ๊ณ ,
CD๋ Continuos Deployment๋ก ์ง์์ ์ธ ๋ฐฐํฌ๋ฅผ ์๋ฏธํ๋ค.
์ฆ, CI/CD ํ์ดํ๋ผ์ธ์ ๊ฐ๋ฐ์๊ฐ ์ํํธ์จ์ด๋ฅผ ์ง์์ ์ผ๋ก ํตํฉ, ๋น๋, ํ
์คํธ, ๋ฐฐํฌํ๊ธฐ ์ํด ์๋ํ์ํจ ํ๋ก์ธ์ค์ด๋ค.
Docker๋ฅผ CI/CD ํ๋ก์ธ์ค์ ํตํฉํ๋ ๊ฒ์ ์ผ๊ด๋ ํ๊ฒฝ์ ์ ๊ณตํ๊ณ ๋น ๋ฅธ ๋น๋, ๋ฐฐํฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ,
์ปจํ
์ด๋์ ํ์ฅ์ฑ๊ณผ ํ๋ ฅ์ฑ์ ์ ๊ณตํด ํธ๋ํฝ ๋ณ๋์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๋๋ก ๋ง๋ ๋ค.
๋ํ, ํ๊ฒฝ ๋ณต์๊ณผ ๋กค๋ฐฑ์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ํ ์ ์๋๋ก ํ๋ ๊ฒ ๋ํ ํตํฉ์ ์ด์ ์ด๋ค.
CI/CD ํ์ดํ๋ผ์ธ์์ Docker๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ, ํ
์คํธ, ๋ฐฐํฌ ๋จ๊ณ ๊ฐ์ ์ผ๊ด๋ ํ๊ฒฝ์ ์ ์งํ ์ ์๊ฒ ํ๋ค.
๋ชจ๋ ๋จ๊ณ์์ ๋์ผํ ์ปจํ
์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ํ๊ฒฝ ์ฐจ์ด๋ก ์ธํ ๋ฌธ์ ๋ ์ค์ผ ์ ์๊ณ ๋ฐฐํฌ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ ์ ์๋ค.
CI/CD ํ์ดํ๋ผ์ธ์์ Docker๋ฅผ ์ฌ์ฉํ๋ฉด ์ดํ๋ฆฌ์ผ์ด์
์ ๋น๋ ๋ฐ ํ
์คํธ ์๊ฐ ๋ํ ๋จ์ถํ ์ ์๋๋ฐ,
์ด๋ฏธ์ง ๋น๋ ๋ฐ ๋ฐฐํฌ ๋จ๊ณ๋ฅผ ๋ณ๋ ฌ๋ก ์คํํ๊ฑฐ๋ ๋์์ ์ํํ ์ ์์ด ์ ์ฒด ํ๋ก์ธ์ค ์๋๋ฅผ ํฅ์์ํฌ ์ ์๋ค.
CI/CD ํ์ดํ๋ผ์ธ์์ Docker๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ํ ๋งํผ์ ์ปจํ
์ด๋ ์ธ์คํด์ค๋ฅผ ์์ฑํด ๋ณ๋ ฌ๋ก ํ
์คํธํ๊ฑฐ๋ ์ค์ผ์ผ ์์ํ ์ ์๋ค.
์ด๋ ๋์ ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ์ ์ ๊ณตํด ํธ๋ํฝ ๋ณ๋์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๊ฒ ๋ง๋ ๋ค.
๋ณธ๋ Docker ์ด์ง๋ ์ดํ๋ฆฌ์ผ์ด์
๋ฐ ํ๊ฒฝ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ค.
CI/CD ํ์ดํ๋ผ์ธ์์ Docker๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ๋ฒ์ ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ํ๊ฒฝ์ ์ฝ๊ฒ ๋ณต์ํ๊ฑฐ๋ ๋กค๋ฐฑํ ์ ์๋ค.