study blog
[Docker] ๋์ปค๋ ๋ฌด์์ธ๊ฐ? ๋ณธ๋ฌธ
๐ณ Docker๋?
์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ์คํ์์ค ๊ฐ์ํ ํ๋ซํผ์ผ๋ก, ๋ค์ํ ํ๋ก๊ทธ๋จ๊ณผ ์คํํ๊ฒฝ์ ์ปจํ ์ด๋๋ก ์ถ์ํํ๊ณ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ํ๋ซํผ์ด๋ค.
๋ฐฑ์๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ, ๋ฉ์์ง ํ ๋ฑ ์ด๋ค ํ๋ก๊ทธ๋จ๋ ์ปจํ ์ด๋๋ก ์ถ์ํ ํ ์ ์๊ณ ์ด๋์์๋ ์คํ ๊ฐ๋ฅํ๋ค.
OS๋ฅผ ํฌํจํ ์ค์น ๊ณผ์ ์ Dockerfile๋ก ๋ฌธ์ํ๋๊ณ ์์ ์ด๋ ฅ์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๋์ด ๋ณ๊ฒฝ์ฌํญ์ ์ฝ๊ฒ ํ์ธ ๊ฐ๋ฅํ๋ค.
๐ก ๊ฐ์๋จธ์ ๊ณผ ๋์ปค ์ปจํ ์ด๋
๊ธฐ์กด์ ๊ฐ์ํ ๊ธฐ์ ์ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๊ฐ์ ์ด์์ฒด์ ๋ฅผ ํ๋์ ํธ์คํธ์์ ์์ฑํด ์ฌ์ฉํ๋ ๋ฐฉ์์ด์๋ค.
์ด๋ฌํ ์ฌ๋ฌ ๊ฐ์ ์ด์์ฒด์ ๋ ๊ฐ์ ๋จธ์ ์ด๋ผ๋ ๋จ์๋ก ๊ตฌ๋ณ๋๊ณ , ๊ฐ ๊ฐ์๋จธ์ ์๋ ์ฐ๋ถํฌ, CentOS ๋ฑ์ ์ด์์ฒด์ ๊ฐ ์ค์น๋์ด ์ฌ์ฉ๋๋ค.
ํ์ดํผ๋ฐ์ด์ ์ ์์ฑ๋๊ณ ๊ด๋ฆฌ๋๋ ์ด์์ฒด์ ๋ Guest OS๋ผ๊ณ ํ๋ฉฐ, ๊ฐ ๊ฒ์คํธ ์ด์์ฒด์ ๋ ๋ค๋ฅธ ๊ฒ์คํธ ์ด์์ฒด์ ์๋ ์์ ํ ๋ ๋ฆฝ๋ ๊ณต๊ฐ๊ณผ ์์คํ ์์์ ํ ๋น๋ฐ์ ์ฌ์ฉํ๋ค. ์ด๋ฐ ๋ฐฉ์์ ๊ฐ์ํ ํด์ VirtualBox, VMware๋ฑ์ด ์๋ค.
ํ์ง๋ง ๊ฐ์ข ์์คํ ์์์ ๊ฐ์ํํ๊ณ ๋ ๋ฆฝ๋ ๊ณต๊ฐ์ ์์ฑํ๋ ์์ ์ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ๊ฑฐ์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ ํธ์คํธ์ ๋นํด ์ฑ๋ฅ์ ์์ค์ด ๋ฐ์ํ๋ค. ๋ํ ๊ฐ์ ๋จธ์ ์ ๊ฒ์คํธ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ปค๋ ๋ฑ์ ์ ๋ถ ํฌํจํ๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ์ง์ ํฌ๊ธฐ ๋ํ ์ปค์ง๋ค. ์ฆ, ๊ฐ์ ๋จธ์ ์ ์๋ฒฝํ ์ด์์ฒด์ ๋ฅผ ์์ฑํ ์ ์๋ค๋ ์ฅ์ ์ ์์ง๋ง ์ผ๋ฐ ํธ์คํธ์ ๋นํด ์ฑ๋ฅ ์์ค์ด ์์ผ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋ฐฐํฌํ๊ธฐ๋ ๋ถ๋ด์ค๋ฝ๋ค๋ ๋จ์ ์ด ์๋ค.
์ด์ ๋นํด ๋์ปค ์ปจํ ์ด๋๋ ๋ฆฌ๋ ์ค์ ์์ฒด ๊ธฐ๋ฅ์ธ chroot, ๋ค์์คํ์ด์ค, cgroup์ ์ฌ์ฉํจ์ผ๋ก์จ ํ๋ก์ธ์ค ๋จ์์ ๊ฒฉ๋ฆฌ ํ๊ฒฝ์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ ์์ค์ด ๊ฑฐ์ ์๋ค. ๋ฐ๋ผ์ ์ปจํ ์ด๋๋ฅผ ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด ๋ฐฐํฌํ๋ ์๊ฐ์ด ๊ฐ์ ๋จธ์ ์ ๋นํด ๋น ๋ฅด๋ฉฐ, ๊ฐ์ํ๋ ๊ณต๊ฐ์ ์ฌ์ฉํ ๋์ ์ฑ๋ฅ ์์ค๋ ๊ฑฐ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
๐ก ๋์ปค๋ฅผ ์ฌ์ฉํ๋ ์ด์
1. ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ๊ฐ ํธํด์ง๋ค.
์๋ฒ๋ฅผ ๋ถํ ํ ๋ ์คํ๋๋ ์ด์์ฒด์ ๋ฅผ ์ผ๋ฐ์ ์ผ๋ก ํธ์คํธ OS๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ๋์ปค ์ปจํ ์ด๋๋ ํธ์คํธ OS ์์์ ์คํ๋๋ ๊ฒฉ๋ฆฌ๋ ๊ณต๊ฐ์ด๋ค. ๋ฐ๋ผ์ ์ปจํ ์ด๋ ์์ฒด์ ํน๋ณํ ๊ถํ์ ์ฃผ์ง ์๋ ํ, ์ปจํ ์ด๋ ๋ด๋ถ์์ ์๋ง์ ์ํํธ์จ์ด๋ฅผ ์ค์นํ๊ณ ์ค์ ํ์ผ์ ์์ ํด๋ ํธ์คํธ OS์๋ ์ํฅ์ ๋ผ์น์ง ์์ผ๋ฏ๋ก ๋ ๋ฆฝ๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ณด์ฅ ๋ฐ์ ์ ์๋ค.
๊ฒ๋ค๊ฐ ๋์ปค ์ด๋ฏธ์ง๋ ์ปค๋์ ํฌํจํ๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ์๊ณ , ์ด๋ฏธ์ง ๋ด์ฉ์ ๋ ์ด์ด ๋จ์๋ก ๊ตฌ์ฑํ๋ฉฐ ์ค๋ณต๋๋ ๋ ์ด์ด๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ ์๋๊ฐ ๋งค์ฐ ๋นจ๋ผ์ง๋ค.
2. ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ๋ฆฝ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋์์ง๋ค.
์ํํธ์จ์ด์ ์ฌ๋ฌ ๋ชจ๋์ด ์ํธ ์์ฉํ๋ ๋ก์ง์ ํ๋์ ํ๋ก๊ทธ๋จ ๋ด์์ ๊ตฌ๋์ํค๋ ๋ฐฉ์์ ๋ชจ๋๋ฆฌ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ ํ๋ค.
์๊ท๋ชจ ์๋น์ค์์๋ ์ด ๋ฐฉ์์ด ์ด์ธ๋ฆด์ง๋ ๋ชจ๋ฅด์ง๋ง, ๊ธฐ๋ฅ์ด ๋ณต์กํ๊ณ ๊ฑฐ๋ํด์ง์๋ก ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ์ด ์ค์ด๋ ๋ค๋ ๋จ์ ์ด ์๋ค. ์ด๋ฌํ ๋ชจ๋๋ฆฌ์ค ๋ฐฉ์์ผ๋ก ๋์ฒดํ๊ธฐ ์ํด ์ต๊ทผ ์๋กญ๊ฒ ๋ ์ค๋ฅธ ๊ฐ๋ ์ด ๋ง์ดํฌ๋ก์๋น์ค ๊ตฌ์กฐ์ด๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๊ตฌ์กฐ๋ ์ฌ๋ฌ ๋ชจ๋์ ๋ ๋ฆฝ๋ ํํ๋ก ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ ์ธ์ด์ ์ข ์๋์ง ์๊ณ ๋ณํ์ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์์ผ๋ฉฐ, ๊ฐ ๋ชจ๋์ ๊ด๋ฆฌ๊ฐ ์ฌ์์ง๋ค๋ ์ฅ์ ์ด ์๋ค. ์ปจํ ์ด๋๋ ์ฌ๋ฌ ๋ชจ๋์๊ฒ ๋ ๋ฆฝ๋ ํ๊ฒฝ์ ๋์์ ์ ๊ณตํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ง์ดํฌ๋ก์๋น์ค ๊ตฌ์กฐ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ ๊ฐ์ํ ๊ธฐ์ ์ด๋ค.
::์ฐธ๊ณ ์๋ฃ::
[์์ํ์ธ์! ๋์ปค/์ฟ ๋ฒ๋คํฐ์ค - ์ํค๋ถ์ค]