01B. Docker ์ด๋ฏธ์ง์ ์ปจํ ์ด๋
01B. Docker ์ด๋ฏธ์ง์ ์ปจํ ์ด๋ ๊ด๋ จ
Docker๋ ์ด๋ฏธ์ง์ ์ปจํ ์ด๋๋ผ๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ๋จผ์ ๋ฒ ์ด์ค ์ด๋ฏธ์ง๊ฐ ์๋๋ฐ, ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์ ์ ์ ๋๋๋ง ์ค์น๋ ํ์ผ์ ๋ปํฉ๋๋ค. ๋ณดํต ๋ฆฌ๋ ์ค ๋ฐฐํฌํ ์ด๋ฆ์ผ๋ก ๋์ด ์์ต๋๋ค. ๋๋, ๋ฆฌ๋ ์ค ๋ฐฐํฌํ ์ ์ ๋๋์ Redis๋ Nginx ๋ฑ์ด ์ค์น๋ ๋ฒ ์ด์ค ์ด๋ฏธ์ง๋ ์์ต๋๋ค. ๊ทธ๋์ Docker ์ด๋ฏธ์ง๋ผ๊ณ ํ๋ฉด ๋ฒ ์ด์ค ์ด๋ฏธ์ง์ ํ์ํ ํ๋ก๊ทธ๋จ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์ค๋ฅผ ์ค์นํ ๋ค ํ์ผ ํ๋๋ก ๋ง๋ ๊ฒ์ ๋งํฉ๋๋ค.
๊ฐ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ ์ด๋ฆ์ผ๋ก ๋ ๋ฒ ์ด์ค ์ด๋ฏธ์ง๋ ๋ฐฐํฌํ ํน์ ์ ํจํค์ง ์์คํ ์ ์ด์ฉํ ์ ์์ต๋๋ค. ์ํ๋ค๋ฉด ๋ฒ ์ด์ค ์ด๋ฏธ์ง๋ฅผ ์ง์ ๋ง๋ค ์๋ ์์ต๋๋ค.
๋งค๋ฒ ๋ฒ ์ด์ค ์ด๋ฏธ์ง์ ํ์ํ ํ๋ก๊ทธ๋จ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์ค๋ฅผ ์ค์นํ๋ฉด ์ฉ๋์ด ํฐ ์ด๋ฏธ์ง๊ฐ ์ค๋ณต๋์ด ์์ฑ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฝ์ต๋๋ค. Docker ์ด๋ฏธ์ง๋ ๋ฒ ์ด์ค ์ด๋ฏธ์ง์์ ๋ฐ๋ ๋ถ๋ถ(ฮ)๋ง ์ด๋ฏธ์ง๋ก ์์ฑํ๊ณ , ์คํํ ๋๋ ๋ฒ ์ด์ค ์ด๋ฏธ์ง์ ๋ฐ๋ ๋ถ๋ถ์ ํฉ์ณ์ ์คํํฉ๋๋ค.
์ ์ ๋๋
OS๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ๊ธฐ์ค์ผ๋ก ์ปค๋ ๊ณต๊ฐ๊ณผ ์ ์ ๊ณต๊ฐ์ผ๋ก ๋๋ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ ์ ๊ณต๊ฐ์์ ์คํ๋๋ ์คํ ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ ๋๋(userland)๋ผ๊ณ ํฉ๋๋ค. ๋ฆฌ๋ ์ค๋ ์ปค๋๋ง์ผ๋ก ๋ถํ ํ ์ ์์ผ๋ฏ๋ก ๋ถํ ์ ํ์ํ ์ต์ ์คํ ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์กฐํฉ์ ๋ปํ๊ธฐ๋ ํฉ๋๋ค. ๋ณดํต ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์์ ์ ์ ๋๋๋ ๋ถํ ์ ํ์ํ ์คํ ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ทธ๋ฆฌ๊ณ ๊ณ ์ ์ ํจํค์ง ์์คํ ์ ํฌํจํฉ๋๋ค.
Docker ์ด๋ฏธ์ง ๊ฐ์ ์์กด ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค๋๋ค. Docker ์ด๋ฏธ์ง๋ 16์ง์๋ก ๋ ID๋ก ๊ตฌ๋ถํ๊ณ , ๊ฐ๊ฐ์ ์ด๋ฏธ์ง๋ ๋
๋ฆฝ์ ์
๋๋ค. centos:centos7
์ด๋ฏธ์ง๋ 511136ea3c5a
, 34e94e67e63a
, b517b77b1a65
๊ฐ ์กฐํฉ๋ ๊ฒ์
๋๋ค. centos:centos6
์ด๋ฏธ์ง์ ์๋น์ค ์ด์์ ํ์ํ ํ๋ก๊ทธ๋จ์ ์ค์นํ ๋ค Docker ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ฉด example:0.1
๊ณผ ๊ฐ์ ํํ๊ฐ ๋ฉ๋๋ค.
์ฆ Docker๋ ์ด๋ฏธ์ง๋ฅผ ํต์งธ๋ก ์์ฑํ์ง ์๊ณ , ๋ฐ๋ ๋ถ๋ถ๋ง ์์ฑํ ๋ค ๋ถ๋ชจ ์ด๋ฏธ์ง๋ฅผ ๊ณ์ ์ฐธ์กฐํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค. Docker์์๋ ์ด๋ฅผ ๋ ์ด์ด๋ผ๊ณ ํฉ๋๋ค.
Docker ์ด๋ฏธ์ง๋ ํ์ผ์ด๊ธฐ ๋๋ฌธ์ ์ ์ฅ์์ ์ฌ๋ฆฐ ๋ค ๋ค๋ฅธ ๊ณณ์์ ๋ฐ์ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ฅ์์ ์ฌ๋ฆด ๋๋ ์์ ์ด๋ฏธ์ง์ ๋ถ๋ชจ ์ด๋ฏธ์ง๋ฅผ ํจ๊ป ์ฌ๋ฆฝ๋๋ค. ๋ฐ์ ๋๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ถ๋ชจ ์ด๋ฏธ์ง๋ฅผ ํจ๊ป ๋ฐ์ต๋๋ค. ์ดํ์๋ ๋ด์ฉ์ด ๋ฐ๋ ์ด๋ฏธ์ง๋ง ์ฃผ๊ณ ๋ฐ์ต๋๋ค.
Union mount, Union File System
์์ฑ๋ Docker ์ด๋ฏธ์ง๋ ์ฝ๊ธฐ ์ ์ฉ ์ํ์ ๋๋ค. ์ฌ๊ธฐ์ ๋ด์ฉ์ด ๋ฐ๋๋ฉด ์ด๋ฏธ์ง๋ฅผ ์์ ํ์ง ์๊ณ , ์ฐ๊ธฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ๋ค ๋ด์ฉ์ ๊ธฐ๋กํฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ Union mount๋ผ๊ณ ํ๋ฉฐ Union mount๋ฅผ ์ง์ํ๋ ํ์ผ์์คํ ์ Union File System์ด๋ผ ํฉ๋๋ค.
Docker ์ปจํ ์ด๋๋ ์ด๋ฏธ์ง๋ฅผ ์คํํ ์ํ์ ๋๋ค. ์ด๋ฏธ์ง๋ก ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด์์ฒด์ ๋ก ๋ณด๋ฉด ์ด๋ฏธ์ง๋ ์คํ ํ์ผ์ด๊ณ ์ปจํ ์ด๋๋ ํ๋ก์ธ์ค์ ๋๋ค. ์ด๋ฏธ ์คํ๋ ์ปจํ ์ด๋์์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ์ ์ด๋ฏธ์ง๋ก ์์ฑํ ์๋ ์์ต๋๋ค.
Docker๋ ํน์ ์คํ ํ์ผ ๋๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ํ ์คํ ํ๊ฒฝ์ด๋ผ ๋ณด๋ฉด ๋ฉ๋๋ค. ๋ฆฌ๋ ์ค/์ ๋์ค ๊ณ์ด์ ํ์ผ ์คํ์ ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ์์๊ฐ ์๊ฒ ์ชผ๊ฐ์ด์ ธ ์์ต๋๋ค. ์์คํ ๊ตฌ์กฐ๊ฐ ๋จ์ํด์ง๊ณ ๋ช ํํด์ง๋ ์ฅ์ ์ด ์์ง๋ง ์์กด์ฑ ๊ด๊ณ๋ฅผ ํด๊ฒฐํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋ ๋จ์ ์ด ์์ต๋๋ค. ๊ทธ๋์ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ ๋ณ๋ก ๋ฏธ๋ฆฌ ์ปดํ์ผ๋ ํจํค์ง(rpm, deb ๋ฑ)๋ผ๋ ์์คํ ์ด ๋์์ต๋๋ค. ํ์ง๋ง ์๋ฒ๋ฅผ ์คํํ ๋๋ง๋ค ์ผ์ผ์ด ์์ค๋ฅผ ์ปดํ์ผํ๊ฑฐ๋ ํจํค์ง๋ฅผ ์ค์นํ๊ณ , ์ค์ ํ๋ ค๋ฉด ์๋นํ ๊ท์ฐฎ์ต๋๋ค.
์๋ฒ๊ฐ ํ ๋ ๋๋ผ๋ฉด ํฐ ์ด๋ ค์์ด ์๊ฒ ์ง๋ง ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ ์๋ฒ๋ฅผ ๋ช ์ญ, ๋ช ๋ฐฑ๊ฐ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ์๋ฒ ๊ตฌ์ฑ์ ๋ฏธ๋ฆฌ ํด๋์ Docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ฉด ์คํํ ์๋ฒ๊ฐ ๋ช ๊ฐ๊ฐ ๋๋ ์์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค.