# ๐ณ Docker ๊ฐ์ํ ๋ฐ ์ปจํ
์ด๋ ๊ด๋ฆฌ
## 1. ๋์ปค(Docker) ์ดํดํ๊ธฐ
### ๐ ๋์ปค๋?
- **๋์ปค(Docker)** ๋ **ํ๋ก๊ทธ๋จ์ ๊ฒฉ๋ฆฌํด์ ์คํ**์์ผ์ฃผ๋ ๋๊ตฌ์์.
- "๋ด ์ปดํจํฐ์์๋ ๋๋๋ฐ, ๋ค๋ฅธ ์ปดํจํฐ์์๋ ์ ๋ผ!" ๐ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ค์.
- **์ปจํ
์ด๋(Container)** ๋ผ๋ ์์ ์์ ํ๋ก๊ทธ๋จ์ ๋ฃ๊ณ ์คํํฉ๋๋ค.
- ๊ฐ์๋จธ์ (VM)๋ณด๋ค **๊ฐ๋ณ๊ณ ๋น ๋ฅด๋ค**๋ ์ฅ์ ์ด ์์ด์.
---
## 2. ๊ฐ์ํ vs ์ปจํ
์ด๋
```mermaid
flowchart LR
A["๋ฌผ๋ฆฌ ์๋ฒ<br/>๐ป"] --> B["๊ฐ์ํ (VM)<br/>๐๏ธ"]
A --> C["์ปจํ
์ด๋ (Docker)<br/>๐ฆ"]
B --> B1["์ด์์ฒด์ ํฌํจ<br/>โ๏ธ"]
B --> B2["๋ฆฌ์์ค ์ฌ์ฉ ๋ง์<br/>๐"]
C --> C1["๊ณต์ OS ์ ์คํ<br/>โก"]
C --> C2["๋ฆฌ์์ค ์ฌ์ฉ ์ ์<br/>๐ก"]
```

- **๊ฐ์ํ(VM)**: ์ด์์ฒด์ (OS)๋ฅผ ์ฌ๋ฌ ๊ฐ ๋์์ ๋ฌด๊ฑฐ์.
- **์ปจํ
์ด๋(Docker)**: ์ด์์ฒด์ ๋ฅผ ๊ณต์ ํ๋ฏ๋ก ๊ฐ๋ณ๊ณ ๋น ๋ฆ.
---
## 3. ๋์ปค์ ๊ธฐ๋ณธ ๊ฐ๋
- **์ด๋ฏธ์ง(Image)**: ํ๋ก๊ทธ๋จ์ ์ฐ์ด๋ผ ์ ์๋ "๋นตํ" ๊ฐ์ ๊ฒ.
- **์ปจํ
์ด๋(Container)**: ์ด๋ฏธ์ง๋ฅผ ์คํํด์ ๋ง๋ค์ด์ง "๋นต" ๊ฐ์ ๊ฒ.
- **๋์ปค ์์ง(Docker Engine)**: ์ปจํ
์ด๋๋ฅผ ๋ง๋ค๊ณ ์คํ์ํค๋ ํ๋ก๊ทธ๋จ.
- **๋์ปค ํ๋ธ(Docker Hub)**: ์ ์ธ๊ณ ์ฌ๋๋ค์ด ๋ง๋ ์ด๋ฏธ์ง๋ฅผ ๊ณต์ ํ๋ "์ฑ์คํ ์ด" ๊ฐ์ ๊ณณ.
---
## 4. ๋์ปค ์ปจํ
์ด๋ ์์ ์ฃผ๊ธฐ
```mermaid
flowchart TD
A[๐ฆ ์ด๋ฏธ์ง] --> B[โถ๏ธ ์ปจํ
์ด๋ ์์ฑ]
B --> C[โธ๏ธ ์คํ ์ค]
C --> D[โน๏ธ ์ค์ง]
D --> E[๐๏ธ ์ญ์ ]
C --> F[๐ ์๋ก์ด ๋ฒ์ ์ผ๋ก ๊ต์ฒด]
```

- ์ปจํ
์ด๋๋ **์ผํ์ฉํ**์ฒ๋ผ ์ฐ๊ณ ๋ฒ๋ฆฌ๋ ๊ฒ ๊ธฐ๋ณธ.
- ๋ฐ์ดํฐ๋ **ํธ์คํธ ์๋ฒ ๋์คํฌ**์ ๋ฐ๋ก ์ ์ฅํด๋์ด์ผ ์์ ํด์.
---
## 5. ๋์ปค์ ์ฅ์ ๊ณผ ๋จ์
|โ
์ฅ์ |โ ๏ธ ๋จ์ |
|---|---|
|ํ ๋์ ์๋ฒ์ ์ฌ๋ฌ ๊ฐ ์คํ ๊ฐ๋ฅ|๋ฆฌ๋
์ค ํ๋ก๊ทธ๋จ๋ง ์ง์|
|๊ด๋ฆฌํ๊ธฐ ์ฝ๋ค|์๋ฒ๊ฐ ์ฃฝ์ผ๋ฉด ์ปจํ
์ด๋๋ ์ํฅ|
|๊ฐ๋ฐํ๊ฒฝ ํต์ผ|์ปจํ
์ด๋ 1๊ฐ๋ง ์ฐ๋ฉด ๋นํจ์จ|
---
## 6. ๋์ปค ๊ธฐ๋ณธ ๋ช
๋ น์ด ์์ (ํ ์ค์ฉ ์ฃผ์ ํฌํจ)
```bash
# ๋์ปค ํ๋ธ์์ nginx(์น ์๋ฒ) ์ด๋ฏธ์ง ๋ค์ด๋ก๋
docker pull nginx
# nginx ์ด๋ฏธ์ง๋ฅผ ์ด์ฉํด ์ปจํ
์ด๋ ์คํ (์ด๋ฆ์ myweb์ผ๋ก ์ง์ )
docker run --name myweb -d -p 8080:80 nginx
# ํ์ฌ ์คํ ์ค์ธ ์ปจํ
์ด๋ ํ์ธ
docker ps
# ์ปจํ
์ด๋ ์ค์ง
docker stop myweb
# ์ปจํ
์ด๋ ์ญ์
docker rm myweb
# ์ด๋ฏธ์ง ์ญ์
docker rmi nginx
```
๐ **์ค๋ช
**
- `docker pull nginx` → "nginx๋ผ๋ ๋นตํ์ ๊ฐ์ ธ์จ๋ค"
- `docker run` → "๊ทธ ๋นตํ๋ก ๋นต(์ปจํ
์ด๋)์ ๊ตฝ๋๋ค"
- `docker ps` → "์ง๊ธ ์ค๋ธ์์ ๊ตฝ๊ณ ์๋ ๋นต๋ค ํ์ธ"
- `docker stop` → "๋นต ๊ตฝ๋ ๊ฑฐ ๋ฉ์ถ๊ธฐ"
- `docker rm` → "๋นต ๋ฒ๋ฆฌ๊ธฐ"
- `docker rmi` → "๋นตํ ๋ฒ๋ฆฌ๊ธฐ"
---
## 7. ํ์
์์ ๋์ปค ํ์ฉ ์ฌ๋ก
- **๊ฐ๋ฐ ํ๊ฒฝ ํต์ผ**
- ํ์ ๋ชจ๋ ๊ฐ์ ํ๊ฒฝ์์ ๊ฐ๋ฐ ๊ฐ๋ฅ
- "๋ด ์ปดํจํฐ์์๋ ๋๋๋ฐ?" ๋ฌธ์ ํด๊ฒฐ
- **ํ
์คํธ ํ๊ฒฝ**
- ์ ๋ฒ์ ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ํ
์คํธ ๊ฐ๋ฅ
- ์: ๊ฐ๋ฐ → ํ
์คํธ → ์ด์ ๋ฐฐํฌ
- **๋ง์ดํฌ๋ก์๋น์ค**
- ์ฌ๋ฌ ๊ฐ์ ์์ ์๋ฒ(์น, DB, API)๋ฅผ ์ปจํ
์ด๋๋ก ๊ฐ๊ฐ ์คํ
- ์๋ก ๋
๋ฆฝ์ ์ด๋ผ ๊ด๋ฆฌ๊ฐ ์ฌ์
- **CI/CD ์๋ํ**
- ๊นํ๋ธ → ๋์ปค ๋น๋ → ์๋ฒ ๋ฐฐํฌ ์๋ํ
- ์ค๋ฌด์์ **Jenkins, GitHub Actions, GitLab CI** ๋ฑ๊ณผ ์์ฃผ ๊ฐ์ด ์
---
## ๐ ์ ๋ฆฌ
- ๋์ปค๋ **๊ฐ๋ณ๊ณ ๋น ๋ฅธ ๊ฐ์ํ ๊ธฐ์ **
- **์ด๋ฏธ์ง → ์ปจํ
์ด๋** ๊ตฌ์กฐ
- **ํ์
์์๋ ๊ฐ๋ฐํ๊ฒฝ ๊ณต์ , ๋ฐฐํฌ ์๋ํ, ๋ง์ดํฌ๋ก์๋น์ค ์ด์**์ ํ์
'Cloud Engineering Bootcamp > 6. Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 06. ๋์ปค(Docker) ์คํ ๋ฆฌ์ง(Storage) (0) | 2025.09.20 |
|---|---|
| 05. ๋์ปค(Docker) ์ปจํ ์ด๋ ๋คํธ์ํฌ ์ฌ์ฉํ๊ธฐ (0) | 2025.09.19 |
| 04. ๋์ปค(Docker) ๊ธฐ์ด ๋ช ๋ น์ด ์ฌ์ฉํ๊ธฐ (0) | 2025.09.18 |
| 03. ๋์ปค(Docker) ์ค์นํ๊ธฐ (0) | 2025.09.18 |
| 02. ๋์ปค(Docker) ์ฌ์ฉํ๊ธฐ (0) | 2025.09.18 |