Docker Container, Image
๐ CI/CD๋ ๋ฌด์์ธ๊ฐ?
1. CI/CD์ ์ ์
- Continuous Integration / Continuous Deployment(Delivery)์ ์ฝ์๋ก,
- ์ง์์ ์ธ ํตํฉ, ์ง์์ ์ธ ์๋น์ค ์ ๊ณต, ์ง์์ ์ธ ๋ฐฐํฌ๋ฅผ ์๋ฏธํ๋ค.
1. ์ง์์ ์ธ ํตํฉ(Continuous Integration)
- ์๋ํ๋ ๋น๋์ ์๋ํ๋ ํ ์คํธ๋ฅผ ์ ๊ณตํ๋ค.
- ์์ ์ ์ธ ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์ ๊ณตํ ์ ์๋ ๋ฐ๊ฑฐ๋ฆ์ด๋ค.
2. ์ง์์ ์ธ ์๋น์ค ์ ๊ณต
3. ์ง์์ ์ธ ๋ฐฐํฌ
- ๋ฐฐ์ด๋ฅผ ์๋ํํ์ฌ ๋ฐฐํฌ ์๊ฐ์ ๋จ์ถํ๊ณ ์ฝ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋น ๋ฅด๊ฒ ์ง์์ ์ผ๋ก ์ ๊ณตํ๋ค.
2. ๊ณผ์
- ์ฝ๋ ์์ฑ : ๊ฐ๋ฐ์๋ค์ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ ์ฅ์(repository)์ ์ ๋๋ฅด
- ๋น๋ : ์ ์ฅ์์์ ์ต์ ์์ค ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ๋น๋๋ฅผ ์ํํ๋ค.
** ๋น๋๋ ์์ค๋ฅผ ์ปดํ์ผํ๊ณ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๊ณ , ํ์ํ ํ์ผ์ ์์ฑํ๋ ๊ณผ์ ์ด๋ค.
- ํ ์คํธ : ๋น๋๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋์์ผ๋ก ํ ์คํธ๋ฅผ ์ํํ๋ค.
** ํ ์คํธ๋ ๊ธฐ๋ฅ์ด ์ ์์ ์ผ๋ก ์๋ํ๋์ง ํ์ธํ๊ณ , ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ์์ ํ๋ ๊ณผ์ ์ด๋ค.
- ๋ฐฐํฌ : ํ ์คํธ๋ฅผ ํต๊ณผํ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฐฐํฌํ๋ค.
** ๋ฐฐํฌ๋ ์๋ฒ์ ์ ๋ก๋ํ๊ฑฐ๋, ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ๊ณผ์ ์ด๋ค.
๐ Docker๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
1. ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ๊ฐ ํธํ๋ค.
- Docker Container ๋ด๋ถ์์ ์ฌ๋ฌ ํธ์คํธ OS์๋ ์ํฅ์ ๊ฐ์ง ์๋๋ค.
- CI/CD์์ ์ง์์ ์ธ ํตํฉ๊ณผ ์ ์ ํ
์คํธ์์ Docker๋ฅผ ํ์ฉํ๋ค.
- ์ด๋ค ์๋ฒ์ ์ฌ๋ฆฌ๋๋ผ๋ ๊ฐ์ ํ๊ฒฝ์ผ๋ก ๊ตฌ์ฑ๋ ์ปจํ ์ด๋๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ํ์คํ๋ ๋ฐฐํฌ๋ฅผ ๊ตฌ์ฑํ ์ ์๋ค.
2. ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ๋ฆฝ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋์์ง๋ค.
3. Docker๊ฐ ๊ฐ์ํ์์ ์ฌ์ค์ ํ์ค์ ์์น์ ์๋ค.
๐ Docker Container ์คํ ํ ์คํธ : Docker Container ๊ด๋ จ ๋ช ๋ น์ด
๐ Docker Image ๊ด๋ฆฌ
1. Docker Image ์ดํด
- Docker Container ์๋น์ค๋ฅผ ์ํ ์ด๋ฏธ์ง๋ Container ๋ฐํ์์ ํ์ํ ๋ฐ์ด๋๋ฆฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ค์ ๊ฐ ๋ฑ์ ํฌํจํ๊ณ ,
๋ณ๊ฒฝ๋๋ ์ํ๊ฐ์ ๋ณด์ ํ์ง ์๊ณ (stateless) ๋ณํ์ง ์๋๋ค.
- ์ํ ์ ์ฅ ์์(Stateless) : ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ํ์ผ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๊ณ ์๊ธฐ ๋๋ฌธ์,
๋ค๋ฅธ ํ๊ฒฝ์์๋ ๋์ผํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ ๊ฐ๋ฅํ๋ค.
- ๋ถ๋ณ์ฑ(Immutable) : ์ด๋ฏธ์ง๊ฐ ํ๋ฒ ์์ฑ๋๋ฉด ๋ณ๊ฒฝํ ์ ์๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ๋์ปค ์ด๋ฏธ์ง๋ ํ์ํ ํ์ผ๋ง ํฌํจํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ฉ๋์ด ์์ผ๋ฉฐ, ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ ๊ฒฝ์ฐ์๋ ์๋ก์ด ์ด๋ฏธ์ง ์์ฑ์ด ํ์ํ๋ค.
2. Docker ์ด๋ฏธ์ง ๋ด๋ ค๋ฐ๋ ๊ณผ์
- hub.docker.com ์์ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณต๋ฐ๊ฑฐ๋, ํด๋น ์ฌ์ดํธ๋ก ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ๋ค.

๐ ๊ฒฐ๋ก ์ ์ผ๋ก, Docker Image๋ ๋ฏธ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ธฐํ ์ข ์์ฑ์ ๋ํ ์ ์, ์คํ๋๋ ์ฝ๋๊ฐ ํฌํจ๋์ด ์๋ ์คํ๋์ง ์์ OS ํ์ผ์ด๋ค.
๐ Docker Image Pull ํ ์คํธ : Docker Image ๊ด๋ จ ๋ช ๋ น์ด