Docker๋ ์ปจํ
์ด๋ ๊ธฐ๋ฐ์ ์คํ์์ค ๊ฐ์ํ ํ๋ ํผ ์
๋๋ค.
Docker๋ ์ํํธ์จ์ด๋ฅผ container๋ผ๋ ํ์คํ๋ ์ ๋์ผ๋ก ํจํค์งํ๋ฉฐ, container์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์คํ
๋๊ตฌ, ์ฝ๋, ๋ฐํ์ ๋ฑ ์ํํธ์จ์ด๋ฅผ ์คํํ๋๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ฆ ์คํํ๊ฒฝ์ container๋ก ์ถ์ํํ๊ณ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ํ๊ฒฝ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์ํ๊ฒ ๋ฐฐํฌ, ํ์ฅ ๋ฐ ๊ด๋ฆฌํ ์ ์๊ฒ ํด์ค๋๋ค.
์ด๋ ๊ฒ ์์ฑ๋ container๋ back-end, DB, server, message queue๋ฑ ์ด๋ค ํ๋ก๊ทธ๋จ๋ container๋ก ์ถ์ํํ ์ ์๊ณ ์กฐ๋ฆฝPC, AWS, Azure, Google cloud๋ฑ ์ด๋์์๋ ์คํํ ์ ์์ต๋๋ค.
๊ทธ๋ผ Container๋ ๋ฌด์์ธ๊ฐ?๐คท๐ปโโ๏ธ
container์ ๊ฐ๋ ์ ๊ฐ๋จํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ ์คํ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ฐ์ด๋๋ฆฌ, ๊ตฌ์ฑ ํ์ผ ๋ฑ์ ํจํค์ง๋ก ๋ฌถ์ด ๋ฐฐํฌํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ ธํธ๋ถ-ํ ์คํธ ํ๊ฒฝ-์ค์ ์ด์ํ๊ฒฝ์ผ๋ก ๋ฐ๋์ด๋ ์คํ์ ํ์ํ ํ์ผ์ด ํจ๊ป ๋ฐ๋ผ๋ค๋๋ฏ๋ก ์ค๋ฅ๋ฅผ ์ต์ํํ ์ ์์ต๋๋ค. ์ด์์ฒด์ ๋ฅผ ์ ์ธํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ํ์ํ ๋ชจ๋ ํ์ผ์ ํจํค์งํ๋ค๋ ์ ์์ ์ด์์ฒด์ ์์์ ๊ตฌํ๋ ๊ฐ์ํ, ์ฆ '์ด์์ฒด์ ๋ ๋ฒจ ๊ฐ์ํ'๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํฉ๋๋ค.
์ปจํ ์ด๋๋ VM๊ณผ ์ ์ฌํ์ง๋ง ๊ฒฉ๋ฆฌ ์์ฑ์ ์ํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ์ด์์ฒด์ (OS)๋ฅผ ๊ณต์ ํ๋ฏ๋ก ๊ฐ๊ฐ์ ์ปจํ ์ด๋๋ ๋ณด๋ค ๊ฐ๋ณ์ต๋๋ค.
๋์ปค์์ ์๋น์ค ์ด์์ ํ์ํ ์๋ฒ ํ๋ก๊ทธ๋จ, ์์ค์ฝ๋ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ปดํ์ผ๋ ์คํ ํ์ผ์ ๋ฌถ๋ ํํ๋ฅผ Docker Images๋ผ ํ๋ค. ๋ค์ ๋งํด, ํน์ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ํ(์ฆ, ์ปจํ
์ด๋ ์์ฑ(์คํ)์ ํ์ํ) ๋ชจ๋ ํ์ผ๊ด ์ค์ ๊ฐ(ํ๊ฒฝ)์ ์ง๋ ๊ฒ์ผ๋ก, ๋ ์ด์์ ์์กด์ฑ ํ์ผ์ ์ปดํ์ผํ๊ฑฐ๋ ์ด๊ฒ์ ๊ฒ ์ค์น ํ ํ์ ์๋ ์ํ์ ํ์ผ์ ์๋ฏธํฉ๋๋ค.
์๋ฅผ ๋ค์ด Ubuntu์ด๋ฏธ์ง๋ Ubuntu๋ฅผ ์คํํ๊ธฐ ์ํ ๋ชจ๋ ํ์ผ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, Oracle์ด๋ฏธ์ง๋ Oracle์ ์คํํ๋๋ฐ ํ์ํ ํ์ผ๊ณผ ์คํ๋ช ๋ น์ด, port์ ๋ณด ๋ฑ์ ๋ชจ๋ ๊ฐ์ง๊ณ ์๋ค.
- ๋ฐ๋ผ์ Docker Images์ ์ฉ๋์ ๋ณดํต ์๋ฐฑMB ~ ์GB๊ฐ ๋๋๋ค. ํ์ง๋ง ๊ฐ์๋จธ์ ์ ์ด๋ฏธ์ง์ ๋นํ๋ฉด ๊ต์ฅํ ์ ์ ์ฉ๋์ด๋ค.
- ์ด๋ฏธ์ง๋ ์ํ ๊ฐ์ ๊ฐ์ง์ง ์๊ณ ๋ณํ์ง ์๋๋ค.(Immutable)
- ํ๋์ ์ด๋ฏธ์ง๋ ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ์์ฑํ ์ ์๊ณ , ์ปจํ ์ด๋๊ฐ ์ญ์ ๋๋๋ผ๋ ์ด๋ฏธ์ง๋ ๋ณํ์ง ์๊ณ ๊ทธ๋๋ก ๋จ์ ์์.
- Docker Images๋ github์ ์ ์ฌํ ์๋น์ค์ธ DockerHub์ ํตํด ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌ(push&oull)๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋ค์ํ API๊ฐ ์ ๊ณต๋์ด ์ํ๋ ๋งํผ ์๋ํ๊ฐ ๊ฐ๋ฅํ๋ค.
- Docker๋ Dockerfile์ด๋ผ๋ ํ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ง๋ ๋ค. Dockerfile์๋ ์์ค์ ํจ๊ป ์์กด์ฑ ํจํค์ง ๋ฑ ์ฌ์ฉํ๋ ์ค์ ํ์ผ์ ๋ฒ์ ๊ด๋ฆฌํ๊ธฐ ์ฝ๋๋ก ๋ช ์๋์ด์ง๋ค.(๊ทธ๋์ ๋๊ตฌ๋ ์ด๋ฏธ์ง ์์ฑ๊ณผ์ ์ ํ์ธํ ์ ์์ผ๋ฉฐ ์์ ๋ ํ ์ ์๋ค)