<aside>
</aside>
๐ ์ฑํฐ ์๊ฐ
์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ! ๐ฆ ์ง๋ ์๊ฐ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ์ ์๋น์ค ๊ฐ ํต์ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค. ์๋น์ค ๋ถ๋ฆฌ ๊ฐ๋ฐ/๋ฐฐํฌ ์ฅ์ ์ ์์์ฃ ? ํ์ง๋ง ์๊ฒ ์ชผ๊ฐ์ง ์๋น์ค๋ค์ ๋ค์ํ ํ๊ฒฝ(๊ฐ๋ฐ, ํ
์คํธ, ์ด์)์ ๋ฐฐํฌ/์คํํ๋ ค๋ฉด "ํ๊ฒฝ ๋ถ์ผ์น" ๋ฌธ์ ๊ฐ ์๊น๋๋ค! ๐ฑ
"์ ์ปดํจํฐ์์ ์ ๋์๊ฐ๋๋ฐ์?" ๐ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ค์ ์๋ฒ ํ๊ฒฝ ์ฐจ์ด๋ก ๋ฐ์ํ๋ ์ด๋ฐ ๋ฌธ์ , ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น์? ์ฑ๋ ์คํ ํ๊ฒฝ์ด ๋ค๋ฅด๋ฉด ๋ฐฐํฌ/์คํ์ด ๊น๋ค๋กญ์ต๋๋ค.
์ด๋ฒ ์๊ฐ์๋ ์ด ๋ฌธ์ ํด๊ฒฐ ์ํ ํ์ ๊ธฐ์ , **์ปจํ
์ด๋(Container)**์ ๋ํ ๋๊ตฌ **๋์ปค(Docker)**๋ฅผ ๋ฐฐ์๋๋ค! ์ฑ๊ณผ ์คํ ํ๊ฒฝ์ ํ๋๋ก ๋ฌถ์ด ์ด๋๋ ์ฝ๊ฒ ์ฎ๊ฒจ ์ฌ๋ ๋ง๋ฒ! ๊ท๊ฒฉํ๋ '์ปจํ
์ด๋ ๋ฐ์ค'์ ์ฐ๋ฆฌ ์ฑ์ ๋ด๋ ๊ฒ๊ณผ ๊ฐ์์. ๐ข ์ปจํ
์ด๋ ์ธ๊ณ๋ก ํจ๊ป ๋ ๋๋ณผ๊น์? ์ถํญ!
๐ฏ ์ฑํฐ ๋ชฉํ
- ๊ธฐ์กด ์ฑ ๋ฐฐํฌ/ํ๊ฒฝ ์ค์ ์ด๋ ค์("๋ด ์ปดํจํฐ์์ ๋๋๋ฐ...") ์ดํด.
- ์ปจํ
์ด๋ ์ ์, OS ์์ค ๊ฐ์ํ ๊ธฐ๋ณธ ๊ฐ๋
์ดํด.
- ๋์ปค(Docker) ์ ์, ์ปจํ
์ด๋ ๊ธฐ์ ์ฌ์ค์ ํ์ค ์ด์ ์ค๋ช
.
- ๋์ปค ํต์ฌ ๊ฐ๋
**์ด๋ฏธ์ง(Image)**์ ์ปจํ
์ด๋(Container) ์ฐจ์ด์ (์ค๊ณ๋ vs ์ค์ ์ง) ๋ช
ํ ์ค๋ช
.
- ์ปจํ
์ด๋ ๊ธฐ์ (๋์ปค) ์ฌ์ฉ ์ฃผ์ ์ด์ (ํ๊ฒฝ ์ผ๊ด์ฑ, ์ด์์ฑ, ๋ฐฐํฌ ๋จ์ํ, ๊ฒฝ๋์ฑ ๋ฑ) ์ค๋ช
.
- ๊ฐ์ ๋จธ์ (VM) vs ์ปจํ
์ด๋ ์ฐจ์ด ๋น๊ต, ๊ธฐ๋ณธ ๋์ปค ์ฌ์ฉ ํ๋ฆ(Dockerfile, Docker Hub), ์ฃผ์์ฌํญ(์ํ ์ ์ฅ ๋ฑ) ์๊ธฐ.
๐ ๊ฐ์ ๋ด์ฉ
1. "์ ์ปดํจํฐ์์ ์ ๋๋๋ฐ..." (๋ฐฐํฌ์ ์ด๋ ค์) ๐ค
- ์ฑ ๊ฐ๋ฐ ํ ์ค์ ์๋ฒ ๋ฐฐํฌ ๊ณผ์ ๋ณต์ก, ๋ฌธ์ ๋ค์ ๋ฐ์.
- ํ๊ฒฝ ๋ถ์ผ์น: ๊ฐ๋ฐ์ PC, ํ
์คํธ ์๋ฒ, ์ด์ ์๋ฒ ๊ฐ๊ฐ OS ๋ฒ์ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ , ์ค์ ๊ฐ ๋ฑ ๋ค๋ฅผ ์ ์์. ๊ฐ๋ฐ ํ๊ฒฝ ์ ์ ๋์ ์ฑ์ด ํ ํ๊ฒฝ ์ค๋ฅ ์ ๋ฐ ("Works on my machine!" ๋ฌธ์ ).
- ์์กด์ฑ ์ง์ฅ: ์ฑ์ ํน์ ๋ฒ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/ํ๋ ์์ํฌ ์์กด. ์๋ฒ์ ํ์ ๋ชจ๋ ์์กด์ฑ ์ ํ ๋ฒ์ ์ค์น/๊ด๋ฆฌ ๋งค์ฐ ๋ฒ๊ฑฐ๋กญ๊ณ ์ค์ ์ฉ์ด. ํ ์ฑ๊ณผ ์์กด์ฑ ์ถฉ๋ ๊ฐ๋ฅ ๐ฅ.
- ๋ฐฐํฌ ๊ณผ์ ๋ณต์ก์ฑ: ์ฑ ์ฝ๋ ๋ณต์ฌ, SW ์ค์น, ํ๊ฒฝ ์ค์ ๋ณ๊ฒฝ, ์๋น์ค ์ฌ์์ ๋ฑ ๋ฐฐํฌ ๊ณผ์ ๋ณต์ก/์๊ฐ ์์, ์๋ ์ํ ์ ์ค์ ๊ฐ๋ฅ์ฑ ๋์.