[ 2022-07-07 (๋ชฉ) ์ค๋์ TIL ]
[ Today Learn ]
โ๏ธ ๋ด๊ฐ ๋ฐฐ์ด๊ฒ, ์ป์๊ฒ
* Docker์ ์ ์
โ Docker ๋ ?
๋์ปค๋ ์ปจํ
์ด๋ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ผ์ข
์ ๊ฐ์ํ ํ๋ซํผ์ผ๋ก, ๋
๋ฆฝ๋ ํ๊ฒฝ์ ๋ง๋ค์ด์ ํ๋์จ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ๋ ๊ธฐ์ ์ด๋ผ๊ณ ํ ์ ์๋ค.
* Docker๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ #1
- ๋ฌธ์ ์ ์) ์ํ๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๊ฒ ์ด๋ ต๋ค!
- ์๋น์ค๋ฅผ ์ด์ํ๊ธฐ ์ํด์ ๋จ์ํ ์ฝ๋๋ฅผ ์ง๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ์๋ฒ๋ ์ด์์ ํด์ฃผ์ด์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์๋ฒ๋ฅผ ์ด์ํ๋๊ฑด ์ ์ ๋ณต์กํด์ง๋ค.
- ํด๊ฒฐ ๋ฐฉ์) ์๋ฒ ์ด์์์ ์ธํ๋ผ ๊ด๋ฆฌ์ ์ดํ๋ฆฌ์ผ์ด์
์์ฑ์ ๋ถ๋ฆฌํ๋ฉด ์ด๋จ๊น?
- ์คํํ๊ฒฝ, ์คํํ๋ ์ฝ๋, ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ค์ ํ์ผ์ ํ๊ณณ์ ์ ์ํด๋๋ฉด ์ด๋จ๊น? โ ๋์ปค ์ด๋ฏธ์ง
- ์๋ฒ์์๋ ๊ฐ๋จํ๊ฒ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๊ณ ์คํ๋ง ์ํค์!
- ์ด๋ฐ ํจ๋ฌ๋ค์์ ์ ์ฉ์ํค๊ธฐ ์ํด์ ํด๊ฒฐํด์ผ ํ 3๊ฐ์ง ๋ฌธ์
- ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฒ
- ์ด๋ฏธ์ง๋ฅผ ๊ณต์ ํ๋ ๋ฒ
- ์ด๋ฏธ์ง๋ฅผ ์คํํ๋ ๋ฒ
* Docker๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ #2
- docker image & container
- image๋ ์ดํ๋ฆฌ์ผ์ด์
์ ์คํํ๊ธฐ ์ํ ํ์ํ ๋ชจ๋ ๊ฒ์ด ์์ฑ๋์ด ์๋ ํ์ผ์
๋๋ค.
- container๋ image๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ ๊ฒ์
๋๋ค. ํ๋ก์ธ์ค์ ๋
๋ฆฝ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด์ ๋คํธ์ํฌ๋ ์ ์ฅ์๊ฐ ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค.
- docker registry
- docker image๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ
- dockerd
- docker API requests๋ฅผ ๋ฐ์์ docker object(image, container๋ฑ)๋ฅผ ๊ด๋ฆฌ
- docker client
- ์ฌ์ฉ์๊ฐ docker๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ cli
* ์ดํ๋ฆฌ์ผ์ด์
๊ณต์ ํ๊ธฐ
โ Docker registry ๋ ?
- ์ฝ๋์ git repository๊ฐ ์๋ค๋ฉด ๋์ปค ์ด๋ฏธ์ง์๋ docker registry!
-> docker registry๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ , ๋ถ๋ฐฐํ๊ธฐ ์ํ ์ ์ฅ์์ด๋ค.
- git repository์ git hub์ด ์๋ค๋ฉด docker registry์๋ docker hub!
-> docker hub์ docker๋ฅผ ๋ง๋ ๊ณณ์์ ๊ด๋ฆฌํ๋ docker registry๋ก ๋๋ถ๋ถ์ ๊ณต์์ด๋ฏธ์ง๊ฐ ์๋ ๊ณณ์
๋๋ค.
๐ฑ ๋๋ ์
์ค๋ ๋ฐฐ์ด ๋ด์ฉ์ ํ ๋๋ก ๋์ปค๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ธ๊ฒ ๊ฐ๋ค. ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ถฉ๋ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ด ํ์ํ ๋, ์์ฑ๋ ์๋น์ค๋ฅผ ๋ฐฐํฌํ ๋, ํน์ ๋ฐฐํฌ ์ค์ธ ์๋น์ค๋ฅผ ๋ฐ์์ ์คํํด ๋ณผ ๋๋ ์ ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋์ปค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ทธ๋ฅ ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ์คํํด์ ์ปจํ
์ด๋๋ก ๋ง๋ค๋ฉด ๋์ ํธ๋ฆฌํ๊ธฐ๋๋ฌธ์ ์์ผ๋ก๋ Docker๋ฅผ ํ์ฉํ์ฌ ์คํํ๋ ๊ฒ์ ์ต์ํด์ ธ์ผ๊ฒ ๋ค.