|
| 1 | +# Docker์ ๊ฐ๋
๊ณผ ํ์์ฑ |
| 2 | +## Docker๋ ๋ฌด์์ธ๊ฐ? |
| 3 | +Docker์ ๊ณต์ ํํ์ด์ง์์๋ Docker๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ๊ณ ์์ต๋๋ค. |
| 4 | + |
| 5 | +> Docker๋ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ, ๋ฐฐํฌ ๋ฐ ์คํ์ ์ํ ๊ฐ๋ฐฉํ ํ๋ซํผ์
๋๋ค. |
| 6 | +> Docker๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์ธํ๋ผ๋ฅผ ๋ถ๋ฆฌํ์ฌ ์ํํธ์จ์ด๋ฅผ ์ ์ํ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค. |
| 7 | +> ๋ํ ์ ํ๋ฆฌ์ผ์ด์
๊ด๋ฆฌ ๋ฐฉ์๊ณผ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, |
| 8 | +> ์ฝ๋ ๋ฐฐํฌยทํ
์คํธยท๋ฐฐํฌ ๋ฐฉ๋ฒ๋ก ์ ํ์ฉํด ์ฝ๋ ์์ฑ๋ถํฐ ํ๋ก๋์
์คํ๊น์ง์ ์ง์ฐ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. |
| 9 | +
|
| 10 | +์ฌ๊ธฐ์ ์ง์คํด์ผํ ๋ถ๋ถ์ **์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์ธํ๋ผ๋ฅผ ๋ถ๋ฆฌ**ํ์ฌ ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ๋ค๋ ์ ์
๋๋ค. |
| 11 | + |
| 12 | +### ํต์ฌ ๊ฐ๋
|
| 13 | +- **์ปจํ
์ด๋ ๊ธฐ๋ฐ ๊ฐ์ํ** ๊ธฐ์ |
| 14 | + - ํธ์คํธ ์ปค๋์ ๊ณต์ ํ๋ฉด์๋ ํ๋ก์ธ์คยท๋คํธ์ํฌยทํ์ผ์์คํ
์ ๊ฒฉ๋ฆฌ |
| 15 | + - ์ ํต์ VM ๋๋น ํจ์ฌ ๊ฐ๋ณ๊ณ ๋น ๋ฆ |
| 16 | + |
| 17 | +- **์ด๋ฏธ์ง(Image)** |
| 18 | + - ์ ํ๋ฆฌ์ผ์ด์
์คํ์ ํ์ํ ํ์ผยท๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๋
์ท |
| 19 | + - Dockerfile๋ก ์ ์ํ๊ณ , ๊ณ์ธต(layer) ๋จ์๋ก ์บ์ ํ์ฉ |
| 20 | + |
| 21 | +- **์ปจํ
์ด๋(Container)** |
| 22 | + - ์ด๋ฏธ์ง์ ์คํ ์ธ์คํด์ค |
| 23 | + - ์์ฑยท์์ยท์ค์งยท์ญ์ ๊ฐ ์์ ๋กญ๊ณ , ์ผ๊ด๋ ์คํ ํ๊ฒฝ์ ๋ณด์ฅ |
| 24 | + |
| 25 | +## ์ Docker๊ฐ ํ์ํ๊ฐ? |
| 26 | +#### ํ๊ฒฝ ์ผ๊ด์ฑ ๋ณด์ฅ |
| 27 | +- "์ PC์์๋ ์ ๋๋๋ฐ์?" ๋ฌธ์ ํด๊ฒฐ |
| 28 | +- ๊ฐ๋ฐ ยท ํ
์คํธ ยท ํ๋ก๋์
์ ๋จ๊ณ์์ ๋์ผํ ํ๊ฒฝ ์ ๊ณต |
| 29 | + |
| 30 | +#### ๋์ ์ด์์ฑ(Portability) |
| 31 | +- ๋ก์ปฌ ๋
ธํธ๋ถ, ์จํ๋ ๋ฏธ์ค ์๋ฒ, ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ **์ด๋์๋ ์คํ** |
| 32 | +- ๋ ์ง์คํธ๋ฆฌ(Docker Hub, Private Registry)์ ์ด๋ฏธ์ง๋ฅผ ์ค์ํ |
| 33 | + |
| 34 | +#### ๋น ๋ฅธ ๋ฐฐํฌ ๋ฐ ์ค์ผ์ผ๋ง |
| 35 | +- ์ปจํ
์ด๋ ๋จ์๋ก ์๋น์ค ํ์ฅยท์ถ์ |
| 36 | +- ์ค์ผ์คํธ๋ ์ด์
(Kubernetes, Docker Swarm)๊ณผ ์ฐ๋ํด ์๋ ์ค์ผ์ผ๋ง |
| 37 | + |
| 38 | +#### ๋ฆฌ์์ค ํจ์จ์ฑ |
| 39 | +- VM ๋๋น ์ค๋ฒํค๋ ์ ์ โ ๋์ผ ํ๋์จ์ด์์ ๋ ๋ง์ ์ํฌ๋ก๋ ์คํ |
| 40 | +- cgroups๋ฅผ ํตํ CPUยท๋ฉ๋ชจ๋ฆฌ ์ ํ ๊ฐ๋ฅ |
| 41 | + |
| 42 | +#### ํ์
๋ฐ CI/CD ์ต์ ํ |
| 43 | +- ์ปจํ
์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ฝ๋์ฒ๋ผ ๋ฒ์ ๊ด๋ฆฌ |
| 44 | +- ํ์ดํ๋ผ์ธ ๋ด `docker build` โ `docker push` โ `docker run`์ ํตํ ์๋ํ |
| 45 | + |
| 46 | +## Image & Container |
| 47 | +### ์ด๋ฏธ์ง(Image) |
| 48 | + |
| 49 | +- **์ ์** |
| 50 | + ์ฝ๊ธฐ ์ ์ฉ ํ
ํ๋ฆฟ(์ค๋
์ท)์ผ๋ก, ์ปจํ
์ด๋ ์คํ์ ํ์ํ ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋ยท๋ผ์ด๋ธ๋ฌ๋ฆฌยท์ค์ ํ์ผ์ **๋ ์ด์ด(layer)** ๋จ์๋ก ์ ์ฅ |
| 51 | +- **ํน์ง** |
| 52 | + - **๋ถ๋ณ(Immutable)**: ํ ๋ฒ ๋น๋๋ ์ด๋ฏธ์ง๋ ๋ณ๊ฒฝ๋์ง ์์ |
| 53 | + - **๋ ์ด์ด ์บ์**: ๋ณ๊ฒฝ ์๋ ๋ ์ด์ด๋ ์ฌ๋น๋ํ์ง ์์ ๋น๋ ์๋ ๋ฐ ์ ์ฅ ํจ์จ ์ฆ๊ฐ |
| 54 | + - **๊ณต์ ๊ฐ๋ฅ**: ์ฌ๋ฌ ์ด๋ฏธ์ง๊ฐ ๋์ผํ ๋ ์ด์ด๋ฅผ ์ฐธ์กฐ |
| 55 | +- **์ฃผ์ ๋ช
๋ น์ด** |
| 56 | + - `docker build -t <์ด๋ฆ>:<ํ๊ทธ> .` โ Dockerfile๋ก ์ด๋ฏธ์ง ์์ฑ |
| 57 | + - `docker images` โ ๋ก์ปฌ ์ด๋ฏธ์ง ๋ชฉ๋ก |
| 58 | + - `docker pull <์ด๋ฏธ์ง>` / `docker push <์ด๋ฏธ์ง>` โ ๋ ์ง์คํธ๋ฆฌ์ ๋๊ธฐํ |
| 59 | + |
| 60 | +### ์ปจํ
์ด๋(Container) |
| 61 | + |
| 62 | +- **์ ์** |
| 63 | + ์ด๋ฏธ์ง์ **์ฝ๊ธฐ-์ฐ๊ธฐ ๋ ์ด์ด**๋ฅผ ๋ํด ์ค์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ์ธ์คํด์ค |
| 64 | + |
| 65 | +- **ํน์ง** |
| 66 | + - **๊ฒฉ๋ฆฌ(Isolation)**: ๋คํธ์ํฌ, ํ๋ก์ธ์ค, ํ์ผ์์คํ
์ด ๋ถ๋ฆฌ |
| 67 | + - **๋ผ์ดํ์ฌ์ดํด**: ์์ฑ(create) โ ์์(start) โ ์ค์ง(stop) โ ์ญ์ (rm) |
| 68 | + - **์ผ๊ด์ฑ**: ์ด๋์ ์คํํด๋ ๋์ผ ๋์ ๋ณด์ฅ |
| 69 | + |
| 70 | +- **์ฃผ์ ๋ช
๋ น์ด** |
| 71 | + - `docker run <์ด๋ฏธ์ง>` โ ์ปจํ
์ด๋ ์์ฑยท์์ |
| 72 | + - `docker ps` / `docker ps -a` โ ์คํ ์ค/์ ์ฒด ์ปจํ
์ด๋ |
| 73 | + - `docker exec -it <์ปจํ
์ด๋>` โ ๋ด๋ถ ๋ช
๋ น ์คํ |
| 74 | + - `docker stop/start/rm <์ปจํ
์ด๋>` โ ์ค์งยท์ฌ์์ยท์ญ์ |
| 75 | + |
| 76 | +์ง๊ธ๊น์ง Docker์ ๊ฐ๋
๊ณผ ํ์์ฑ์ ์ดํด๋ณด์์ต๋๋ค. |
| 77 | +๋ค์ ์ธ์
์์๋ Docker ๊ธฐ๋ณธ ๋ช
๋ น์ด(`docker run`, `docker ps`, `docker exec`, `docker logs` ๋ฑ)๋ฅผ ์ง์ ์ค์ตํ๋ฉฐ ์ปจํ
์ด๋๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋ด
๋๋ค. |
0 commit comments