Docker๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ฒ ๊ตฌ์ถ, ํ ์คํธ ๋ฐ ๋ฐฐํฌํ ์ ์๋ ์ํํธ์จ์ด ํ๋ซํผ์ ๋๋ค.1
Docker๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํ ์ด๋(Container)๋ผ๋ ํํ๋ก ๋ฐฐํฌํ๋๋ฐ, ๊ธฐ์กด ๋ฐฐํฌ ๋ฐฉ์์ ๋นํด ๊ฐ์ง๋ ๋ง์ ์ฅ์ ์ผ๋ก ์ธํด ํฐ ์ธ๊ธฐ๋ฅผ ๋๊ฒ ๋์์ต๋๋ค. ๋น๋ก ์ง๊ธ์ Docker๋ฅผ ํผํ๋ ค๋ ์์ง์๋ ์๊ธด ํ์ง๋ง, DevOps ๋ถ์ผ์ ํ ํ์ ๊ทธ์๋ค๋ ๊ฒ์ ๋ถ์ ํ ์ ์์ต๋๋ค.
Docker์ ์ฅ์
์ด๋์๋ ๋์ผํ ํ๊ฒฝ ์ ๊ณต
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ๋ ์ฐ๋ฆฌ๋ ์๋ง์ ๋ฌธ์ ๋ฅผ ๋ง๋๊ฒ ๋๋๋ฐ, ๊ทธ์ค ๊ตฌ๋ ํ๊ฒฝ ๋ฌธ์ ๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ๋ก ํธ์๋ ์ฑ์ ๋น๋ํ ๋ ๋ค๋ฅธ Node.js ๋ฒ์ ์ ์ฌ์ฉํ๊ฑฐ๋, Spring Boot ๋ฐฑ์๋์์ ํธํ๋์ง ์๋ Java ๋ฒ์ ์ ์ฌ์ฉํ๋ค๋ฉด ์ฑ์ด ์คํ๋์ง ์๊ฑฐ๋, ์ ์์ ์ผ๋ก ์๋์ ๊ธฐ๋ํ๊ธฐ ํ๋ค ๊ฒ์ ๋๋ค.
Docker ์ปจํ
์ด๋๋ ์ด ๊ตฌ๋ ํ๊ฒฝ์ ๋ํ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ด๊ณ ์์ด ์ด๋์๋ ๋์ผํ ํ๊ฒฝ์์ ์ฑ์ด ์คํ๋๋๋ก ํฉ๋๋ค. Dockerfile
์ด๋ผ๋ ๋ณ๋์ ํ์ผ์ ํตํด ํ๊ฒฝ์ ์ค์ ํ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋น๋ ๊ณผ์ ์ ๊ฑฐ์ณ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋น๋ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์๋ฌ์ ํจ๊ป ๋น๋๊ฐ ์ค๋จ๋๊ธฐ ๋๋ฌธ์ ์ฅ์ ์ง๋จ์ ๋ฏธ๋ฆฌ ํ ์๋ ์์ต๋๋ค. ์ด๋ฏธ์ง๋ฅผ ํตํด ๋ง๋ค์ด์ง ์ปจํ
์ด๋๋ ์ด๋ ํ๊ฒฝ์์๋ ๋์ผํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
์ด๋ฏธ์ง๋ฅผ ๋น๋โข๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ๋ ๋์ผํฉ๋๋ค.
Docker ์์ง์ด ์ค์น๋์ด ์๋ค๋ฉด ์ด์ ์ฒด์ ์ ๊ด๊ณ์์ด docker
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
๊ฐํธํ ๊ด๋ฆฌ์ ํ์ฅ
Docker ์ปจํ
์ด๋ ์ด๋ฏธ์ง๋ ๋ง์น ํ๋์ ํ๊ณผ ๊ฐ์์, ์ฌ๋ฌ ๊ฐ์ ์ฑ์ ์์ฝ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๋ด๊ฐ ๋ค์์ ์ฑ์ ๋ฐฐํฌํ๊ณ ์ถ๋ค๋ฉด, ๋จ์ํ ๊ทธ๋งํผ docker run
๋ช
๋ น์ด๋ฅผ ๋ฐ๋ณตํ๋ฉด ๋ฉ๋๋ค. ๋ชจ๋ ํ๊ฒฝ์ ์ผ์ผ์ด ์ ์ดํ ํ์๋ ์๊ณ , ์ค๋ฅ์ ์ํ๋ ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌโขํ์ฅ์ ๋์ด๋๊ฐ ๋งค์ฐ ์ค์ด๋ค๊ฒ ๋ฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ถ์๋ ๊ฐํธํ๊ฒ ํ ์ ์๊ณ , ์ด์ ๋ฒ์ ์ ์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด ์ฅ์ ์ํฉ์์ ๋กค๋ฐฑ๋ ์ฝ๊ฒ ํ ์ ์์ต๋๋ค.
๋ํ ํ๊ฒฝ ๋ณ์ ๋ฑ ์ผ๋ถ ์ค์ ๊ฐ์ ์ค๋ฒ๋ผ์ด๋ฉํ ์ ์์ด ์ด๋ ์ ๋์ ์ ๋์ฑ๋ ์์ผ๋ฉฐ, ํ๋์ ์๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌํ ์๋ ์๊ธฐ ๋๋ฌธ์ ์์ ์ฌ์ฉ๋๋ ์ต์ ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
Docker์ ํ๊ณ
ํ์ง๋ง Docker๋ ๋ง๋ฅ์ ์๋๋๋ค. Docker๋ฅผ ์ฌ์ฉํด๋ ๋๊ท๋ชจ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ์ฌ์ ํ ํ๋ค์๊ณ , ์ด๋ Kubernetes์ ๋ฑ์ฅ์ผ๋ก ์ด์ด์ง๊ฒ ๋์์ต๋๋ค.
๋ํ Docker ์์ฒด์ ์ทจ์ฝ์ ๋ ์๋๋ฐ, ๊ทธ์ค ์ ์๋ ค์ง ๊ฒ์ Docker ๋ฐ๋ชฌ์ด ๋๋ฌด ๋ง์ ๊ถํ์ ์๊ตฌํ์ฌ ๋ณด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ์ ์ ๋๋ค. ๊ทธ ์ธ์๋ ์ฑ๋ฅ ๋ฌธ์ ๋ฑ ์ฌ๋ฌ ๋จ์ ์ด ์ง์ ๋๋ฉด์ ์ต๊ทผ์๋ kaniko, BuildKit๊ณผ ๊ฐ์ด Docker์ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ ๋๊ตฌ์ ์ธ์ง๋๋ ๋์์ง๊ณ ์์ต๋๋ค.