Docker๋ ์ปจํ
์ด๋ ๋ด๋ถ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ฑ, ๋ฐฐํฌ ๋ฐ ์คํํ ์ ์๋ ํ๋ซํผ์
๋๋ค. ๊ทธ๊ฒ์ ๊ฐ๋ฐ์, ์์คํ
๊ด๋ฆฌ์, ํด๋ผ์ฐ๋ ์์ง๋์ด๋ค ์ฌ์ด์์ ๊ด๋ฒ์ํ ์ธ๊ธฐ๋ฅผ ์ป์ ์คํ ์์ค ํ๋ซํผ์ด๋ค. ์ด ๋ธ๋ก๊ทธ์์๋ Docker๊ฐ ๋ฌด์์ธ์ง, Docker๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ฐ Docker๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ ์ด์ ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
๐Container๋ ๋ฌด์์ด์ง?
Container๋ ์ฝ๋, ๋ฐํ์, ์์คํ
๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ค์ ์ ํฌํจํ์ฌ ์ํํธ์จ์ด๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋ ๋
๋ฆฝ ์คํํ ์คํ ๊ฐ๋ฅ ํจํค์ง์
๋๋ค. Container๋ ๋ค๋ฅธ ์ปจํ
์ด๋๋ ํธ์คํธ ์์คํ
์ ๋ฐฉํดํ์ง ์๊ณ Docker runtime์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํธ์คํธ์์ ์คํํ ์ ์๋ ์ํํธ์จ์ด์ ๊ฒฉ๋ฆฌ๋ ๋จ์๋ก ์ค๊ณ๋์์ต๋๋ค.
๐Docker๋ ๋ญ์ผ?
Docker๋ ์ปจํ
์ด๋์ ์์ฑ, ๋ฐฐํฌ, ์คํ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ํ๋ซํผ์
๋๋ค. ํตํฉ๋๊ณ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ํจํค์ง, ๋ฐฐํฌ ๋ฐ ์คํํ ์ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ด ์ด๋์ ๊ตฌ์ถ๋์ด ์๋ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํ ์ ์์ต๋๋ค. Docker๋ ๋ํ ์ปจํ
์ด๋ ๊ด๋ฆฌ๋ฅผ ์ํ ์ผ๋ จ์ ๋๊ตฌ์ API๋ฅผ ์ ๊ณตํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ์๋ํํฉ๋๋ค.
๐Docker๋ฅผ ์ฌ์ฉํ๋ ์ด์
์ ํ๋ฆฌ์ผ์ด์
์ Docker๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ฃผ์ ์ด์ ์ด ์์ต๋๋ค.
๐กํด๋์ฑ(Portability)
Docker๋ ํด๋๊ฐ ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋์์ผ๋ฏ๋ก ํ ํธ์คํธ์์ ๋ค๋ฅธ ํธ์คํธ๋ก ์ด๋ํ๊ณ ๋์ปค ๋ฐํ์์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํธ์คํธ์์ ์คํํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ, ํ
์คํธ ๋ฐ ํ๋ก๋์
์ ๋น๋กฏํ ๋ค์ํ ํ๊ฒฝ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
๐ก๊ฒฉ๋ฆฌ(Isolation)
Docker๋ ์ํํธ์จ์ด์ ๋ถ๋ฆฌ๋ ๋จ์๋ก, ํธ์คํธ ์์คํ
๋ฐ ๋ค๋ฅธ ์ปจํ
์ด๋์ ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฉ๋ฆฌ๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฐฐํฌ๋๋ ์์น์ ์๊ด์์ด ์ ํ๋ฆฌ์ผ์ด์
์ด ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํ๋๋๋ก ๋ณด์ฅํ ์ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ ํ
์คํธํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
๐กํจ์จ์ฑ(Efficiency)
Docker๋ ์์ฉํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ๊ตฌ์ฑ์์๋ง ํฌํจํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ๊ณ ํจ์จ์ ์
๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ ์ธํ๋ผ์ ๋ํ ๊ฑฑ์ ์์ด ์ ํ๋ฆฌ์ผ์ด์
์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
๐กํ์ฅ์ฑ(Scalability)
Docker๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ปจํ
์ด๋๋ฅผ ์ฝ๊ฒ ๋ง๋ค๊ณ ์ฌ๋ฌ ํธ์คํธ์์ ์คํํ ์ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฆ๊ฐํ ํธ๋ํฝ์ด๋ ์์๋ฅผ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์
์ด ํญ์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ์๋ต์ฑ์ด ๋์ต๋๋ค.
๐ก์๋ํ(Automation)
Docker๋ ์ปจํ
์ด๋์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ์๋ํํ ์ ์๋ ์ผ๋ จ์ ๋๊ตฌ์ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ์ API๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ๋ฅผ ์๋ํํ๊ณ ์ปจํ
์ด๋๋ฅผ ์ผ๊ด๋๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๐Docker ์ฌ์ฉํ ๋ ํจ๊ณผ์ ์ธ case
๐กํ์คํ๋ ๊ธฐ๋ณธ ์ด๋ฏธ์ง ์ฌ์ฉ
Docker Hub์ ๊ณต์ ์ด๋ฏธ์ง์ ๊ฐ์ ํ์ค ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋๊ฐ ์ผ๊ด๋๊ณ ํด๋ ๊ฐ๋ฅํ์ง ํ์ธํฉ๋๋ค.
๐กContainer๋ฅผ ํตํ ํจ์จ์ฑ&ํ์ฅ์ฑ
์ปจํ
์ด๋๊ฐ ์์ฉํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ๊ตฌ์ฑ์์๋ง ํฌํจํ๋๋ก ์ปจํ
์ด๋๋ฅผ ์๊ณ ์ง์ค์ ์ผ๋ก ์ ์งํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ปจํ
์ด๋๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ ์ปจํ
์ด๋์ ํจ์จ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค.
๐กํ๊ฒฝ๋ณ์ ์ฌ์ฉ
ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋๋ฅผ ๊ตฌ์ฑํ๋ฉด ์ปจํ
์ด๋๋ฅผ ์ฌ๊ตฌ์ฑํ์ง ์๊ณ ๋ ์ฝ๊ฒ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๐ก๊ตฌ์ถ ํ๋ก์ธ์ค ์๋ํ
๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ฌ ์๋ ์์
์์ด ์ ํ๋ฆฌ์ผ์ด์
์ ๋น ๋ฅด๊ณ ์ผ๊ด๋๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
๐กContainer ๋ชจ๋ํฐ๋ง
๋ฐ์ํ๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ๊ฐ์งํ๊ณ ํด๊ฒฐํ ์ ์๋๋ก ์ปจํ
์ด๋๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ์ ์ข์ต๋๋ค.