์ด ๊ธ์ ํํ SW ๊ณผ์ ์ค์ต ์ค ๊ฒช์ ํ๊ฒฝ ๋ฌธ์ ๋ฅผ
์ค์ค๋ก Docker๋ฅผ ๋์
ํด ํด๊ฒฐํ ์ค์ ๊ฒฝํ๊ณผ
๋์ปค์ ๊ฐ๋
, ๊ตฌ์กฐ, ๋ช
๋ น์ด, ์ค์ต ํ๊ฒฝ์
๊ธฐ์ ์ ์ผ๋ก ์ ๋ฆฌํด ๊ณต์ ํ๋ ๊ธ์
๋๋ค.
๋ชฉ์ฐจ
- Docker ๊ธฐ๋ณธ ๊ฐ๋
: "ํ ๋ฒ ๋ง๋ค์ด ์ด๋์๋ ๋๊ฐ์ด ์คํ"
- Docker ๋์ ์๋ฆฌ ๋ฐ ๊ตฌ์กฐ (๊ทธ๋ฆผ๊ณผ ํจ๊ป)
- Docker์ ์ค์ ๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์์ ๊ฐ์น
- ๋๋ ์ Docker๋ฅผ ์ ํํ๋? (์ค์ต ํ๊ฒฝ ๊ธฐ์ค, ๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ)
- ์ค์ต ํ๊ฒฝ ์ํคํ
์ฒ (ํฌํธ/๋คํธ์ํฌ ํ๋ฆ)
- ์ค์ ์ค์น/์คํ ๊ฒฝํ (๋ช
๋ น์ด/์ค์ ํ๋ฉด ์ ๋ฆฌ)
- Docker์ ๊ธฐ์ ์ ๋ฐฐ๊ฒฝ (CS ๊ด์ ์์ฝ)
- ์์ผ๋ก์ ์ค์ต/ํ์ต ๋ชฉํ
- Reference
1. Docker ๊ธฐ๋ณธ ๊ฐ๋
: "ํ ๋ฒ ๋ง๋ค์ด ์ด๋์๋ ๋๊ฐ์ด ์คํ"

์ถ์ฒ: https://www.docker.com/
๐ฆ ๋์ปค๋?
- Docker๋ "์ปจํ
์ด๋(Container)"๋ผ๋ ๊ธฐ์ ์ ์ด์ฉํด ์ ํ๋ฆฌ์ผ์ด์
์คํ ํ๊ฒฝ ์ ์ฒด๋ฅผ ์บก์ํํ๋ ์คํ์์ค ํ๋ซํผ์
๋๋ค.
- "๋ด ์ปดํจํฐ์์ ๋๋๋ฐ?"๋ผ๋ ๋ฌธ์ (ํ๊ฒฝ ๋ถ์ผ์น)๋ฅผ ํด๊ฒฐ.
- ํ ๋ฒ ํจํค์งํ ์ด๋ฏธ์ง๋ ์ด๋ค OS, ์ด๋ค ์ปดํจํฐ์์๋ ์๋ฒฝํ๊ฒ ์ฌํ!
2. Docker ๋์ ์๋ฆฌ ๋ฐ ๊ตฌ์กฐ (๊ทธ๋ฆผ๊ณผ ํจ๊ป)
(1) ์ ์ฒด ๋์ ๊ตฌ์กฐ

์ถ์ฒ: https://www.docker.com
๊ตฌ์ฑ์์
- Client:
docker run
, docker build
, docker pull
๋ฑ ๋ช
๋ น์ด๋ก Docker๋ฅผ ์กฐ์ํ๋ ์ฃผ์ฒด (๋ณดํต ๊ฐ๋ฐ์์ ํฐ๋ฏธ๋)
- Docker Host: Docker๊ฐ ์ค์น๋ ์ปดํจํฐ.
- Docker Daemon(์๋ฒ): ์ค์ ๋ก ์ด๋ฏธ์ง ๊ด๋ฆฌ, ์ปจํ
์ด๋ ์คํ, ๋คํธ์ํฌยท์คํ ๋ฆฌ์ง ๊ด๋ฆฌ ๋ฑ ๋ชจ๋ ๋์์ ์ํ
- Images: ์คํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์กด์ฑ, ์ค์ ๊ฐ ๋ฑ ์ ์ฒด ์คํ ํ๊ฒฝ์ '์ค๋
์ท'
- Containers: ์ด๋ฏธ์ง๋ฅผ ์คํ์์ผ ๋ง๋ค์ด์ง ๋
๋ฆฝ์ ์ธ '์คํ ์ธ์คํด์ค'
- Registry: ์ด๋ฏธ์ง์ ์ ์ฅ์ (ex: Docker Hub).
- ์ด๋ฏธ์ง๋ฅผ pull/pushํด์ ํ/ํ์ฌ/์ปค๋ฎค๋ํฐ์ ๊ณต์ ๊ฐ๋ฅ
ํ๋ฆ
- ์ด๋ฏธ์ง๋ ๋ณดํต ๋ ์ง์คํธ๋ฆฌ(๋์ปคํ๋ธ ๋ฑ)์์ pull ํด์ ๋ด๋ ค๋ฐ์
- ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ
์ด๋๋ฅผ run ํด์ ์คํ
- ํ์ํ๋ค๋ฉด ์ง์ build(Dockerfile ๊ธฐ๋ฐ)ํด์ ์ด๋ฏธ์ง ์์ฑ ๊ฐ๋ฅ
- ์ปจํ
์ด๋๋ ๊ฒฉ๋ฆฌ๋ ์ํ(๋ณ๋ ๋คํธ์ํฌ, ํ์ผ์์คํ
, ํ๊ฒฝ๋ณ์ ๋ฑ)์์ ์คํ๋จ
(2) VM(Virtual Machine vs Docker Containers ๊ตฌ์กฐ ๋น๊ต

์ถ์ฒ: https://www.atlassian.com/microservices/cloud-computing/containers-vs-vms
๊ตฌ๋ถ | Virtual Machine(๊ฐ์๋จธ์ ) | Docker(์ปจํ
์ด๋) |
---|
๊ตฌ์กฐ | ๋ฌผ๋ฆฌ์๋ฒ โ Hypervisor โ ๊ฒ์คํธOS โ ์ฑ | ๋ฌผ๋ฆฌ์๋ฒ โ Host OS โ Docker Engine โ ์ปจํ
์ด๋(์ฑ) |
์ฅ์ | ์๋ฒฝํ ๊ฒฉ๋ฆฌ, OS๋ง๋ค ์์ ๋ค๋ฅด๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ | ๋งค์ฐ ๋น ๋ฆ, ๊ฐ๋ณ๊ณ , ํ์ ์ต์ ๋ฆฌ์์ค๋ง ์ฌ์ฉ |
๋จ์ | ๋๋ฆผ, ๋ฌด๊ฑฐ์, VM๋ง๋ค OS๊ฐ ๋ฐ๋ก ๊ตฌ๋ | Host OS ์ปค๋์ ๋ฐ๋ผ ์ฝ๊ฐ์ ์ ์ฝ |
์ฉ๋ | ์์ ๋
๋ฆฝ๋ OS ํ๊ฒฝ ํ์ํ ๋ | ์๋น์ค ๋ถ๋ฆฌ, ์ ์ ๋ฐฐํฌ, CI/CD, DevOps |
ํต์ฌ
- VM์ "OS๊น์ง ํต์งธ๋ก ๋ณต์ ", ์ปจํ
์ด๋๋ "์ฑ๊ณผ ์์กด์ฑ๋ง ๊ฒฉ๋ฆฌํด์ ์ด๊ฒฝ๋ํ"
- ๋์ฉ๋ ์ปจํ
์ด๋๋ ์๋ฒ ํ ๋์์ ๋์ฐ๋๊ฒ ๊ฐ๋ฅ
(3) Docker ์คํ์ ํต์ฌ ๋จ๊ณ: Dockerfile โ Image โ Container

์ถ์ฒ:https://www.docker.com
- Dockerfile ์์ฑ
- ์ค์นํ ํ๋ก๊ทธ๋จ, ๋ช
๋ น์ด, ํ๊ฒฝ๋ณ์ ๋ฑ '๋ ์ํผ' ์์ฑ
- ์ด๋ฏธ์ง(Image)๋ก ๋น๋
- ๋ชจ๋ ์ค์ /๋ผ์ด๋ธ๋ฌ๋ฆฌ/์ฑ ํ์ผ์ด ํฌํจ๋ ์ค๋
์ท ์์ฑ
- ์ปจํ
์ด๋(Container)๋ก ์คํ
- ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์์ ๋์ฐ๋ '์คํ ์ธ์คํด์ค'
์ฃผ์ ๋ช
๋ น์ด
docker build -t myapp .
: Dockerfile์์ ์ด๋ฏธ์ง ์์ฑ
docker pull ubuntu:22.04
: ๋์ปคํ๋ธ์์ ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ
docker run -d -p 8080:80 myapp
: ์ปจํ
์ด๋ ์์ฑ ๋ฐ ํฌํธํฌ์๋ฉ
3) Docker Architecture Overview: ์ปจํ
์ด๋ ์๋ช
์ฃผ๊ธฐ์ ์ฃผ์ ์ปดํฌ๋ํธ

์ถ์ฒ: https://until.blog/@xeros/docker%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9C%BC%EB%A1%9C-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-
๊ตฌ์กฐ ํ๋์ ๋ณด๊ธฐ
์ด ๊ทธ๋ฆผ์ Docker์ ๋ด๋ถ ๊ตฌ์กฐ์ ๋ช
๋ น์ ํ๋ฆ์ ํ๋์ ๋ณด์ฌ์ค๋๋ค.
๊ฐ๋ฐ์๊ฐ CLI๋ก ๋ช
๋ น์ ์
๋ ฅํ๋ฉด, ์๋์ ๊ฐ์ ๊ฒฝ๋ก๋ก ๋์ํฉ๋๋ค.
๐ ๊ฐ ๊ตฌ์ฑ์์ ์ค๋ช
-
Docker Client
๊ฐ๋ฐ์๊ฐ ํฐ๋ฏธ๋(ํน์ ๊ธฐํ API, GUI)์์ docker run
, docker build
, docker pull
๋ฑ ๋ช
๋ น์ ์คํํ๋ ์ฃผ์ฒด.
-
Docker Daemon (Server)
Docker์ ํต์ฌ ์์ง. ํด๋ผ์ด์ธํธ ๋ช
๋ น์ ๋ฐ์ ์ค์ ๋ก ์ด๋ฏธ์ง ๋น๋, ์ปจํ
์ด๋ ์คํ/์ ์ง, ๋ฆฌ์์ค ๊ด๋ฆฌ ๋ฑ์ ๋ด๋นํฉ๋๋ค.
-
Docker Engine
Daemon + REST API + CLI ๋ฑ Docker๋ฅผ ๊ตฌ์ฑํ๋ ์ ์ฒด ์์ง ๊ตฌ์กฐ.
-
Docker Images
์ฝ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๊ฒฝ๋ณ์ ๋ฑ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋์ํ๋ ๋ฐ ํ์ํ ์คํ ํ๊ฒฝ์ ์ค๋
์ท.
์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์์ฑํฉ๋๋ค.
-
Docker Containers
์ด๋ฏธ์ง๋ฅผ ์ค์ ๋ก ์คํํ ๊ฒฉ๋ฆฌ๋ ์ธ์คํด์ค.
๊ฐ๊ฐ ๋
๋ฆฝ๋ ํ๊ฒฝ์์ ๋์๊ฐ๋ ํ๋์ ์ดํ๋ฆฌ์ผ์ด์
.
-
Docker Registry
์ด๋ฏธ์ง๋ฅผ ์ ์ฅ/๊ณต์ ํ๋ ์ค์ ์ ์ฅ์(Docker Hub, ์์ฒด Registry ๋ฑ).
์ด๋ฏธ์ง๋ Registry์์ pull
, ๋ด ์ด๋ฏธ์ง๋ push
๋ก ์
๋ก๋ ๊ฐ๋ฅ.
-
Running Instances
์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ๋์ ์ค์ธ ์ปจํ
์ด๋(์คํ ์ธ์คํด์ค).
โฉ ๋์ ํ๋ฆ
- ๊ฐ๋ฐ์๊ฐ ํฐ๋ฏธ๋์์ ๋ช
๋ น ์คํ
โ ์) docker run mariadb:latest
- Client๊ฐ ๋ช
๋ น์ Docker Daemon์ ์ ๋ฌ
- Daemon์ ํ์ ์ Registry์์ ์ด๋ฏธ์ง๋ฅผ pull
- ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก ์ปจํ
์ด๋(Container)๋ฅผ ์คํ
- ์คํ ์ค์ธ ์ปจํ
์ด๋๋ Daemon์ด ๊ณ์ ๊ด๋ฆฌ
- ํ์์ ๋ฐ๋ผ ์ด๋ฏธ์ง๋ Registry์ push/pull๋ก ๊ณต์
์ ๋ฆฌ:
Docker์ ๋ช
๋ น์ด ์คํ๋ถํฐ ์ค์ ์ปจํ
์ด๋ ๊ตฌ๋,
์ด๋ฏธ์ง์ ์์ฑ/์ ์ฅ/๊ณต์ ๊น์ง์ ์ ์ฒด ๋ผ์ดํ์ฌ์ดํด์
ํ๋์ ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
3. Docker์ ์ค์ ๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์์ ๊ฐ์น
- ์ฌํ์ฑ: ์ด๋์๋ ๊ฐ์ ํ๊ฒฝ (ํ
์คํธ/์ด์/๋ฐฐํฌ)
- ์ฌ์ด ํ์ฅ/๋ณต์ : ์ปจํ
์ด๋ ์๋ฐฑ ๊ฐ ์๋ํ ๊ด๋ฆฌ (Docker Compose, K8s ๋ฑ)
- ๋น ๋ฅธ ์์/์ข
๋ฃ: OS ๊ตฌ๋ ๋ถํ์, ์ ์ด ๋ง์ ์๋น์ค ๊ต์ฒด ๊ฐ๋ฅ
- DevOps, CI/CD: ํ
์คํธ/๋ฐฐํฌ ์๋ํ์ ํ์์
4. ๋๋ ์ Docker๋ฅผ ์ ํํ๋? (์ค์ต ํ๊ฒฝ ๊ธฐ์ค, ๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ)
- ๋ก์ปฌ์ ์ด๋ฏธ MySQL์ด ์ค์น๋์ด ์๊ณ , ์ค์ต์์๋ MariaDB๋ฅผ ๋ณ๋ ์ฌ์ฉํด์ผ ํ๋ ์ํฉ์ด์์
- Mac ํ๊ฒฝ์์๋ HeidiSQL(์๋์ฐ ์ ์ฉ DBํด) ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅ
- Docker๋ก MariaDB ์ปจํ
์ด๋๋ฅผ ๋์ฐ๊ณ , Sequel Ace๋ก ์ฐ๊ฒฐ โ ํฌํธ๋ง ๋ถ๋ฆฌํด์ ์ค๋ณต ๊ฑฑ์ ์์ด ์ฌ์ฉ
- VirtualBox๋ก ๋ฆฌ๋
์ค ์๋ฒ๋ฅผ ๋์ฐ์ง ์์๋, Docker ์ปจํ
์ด๋๋ก ๊ฐ๋จํ๊ฒ ํ๊ฒฝ ๋ณต์ /๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅ
- ๋คํธ์ํฌ, ํฌํธํฌ์๋ฉ, ssh ๋ฑ ์ค์ต์ ํ์ํ ๊ฑฐ์ ๋ชจ๋ ์ธํ๋ผ ํ๊ฒฝ์ ์ฝ๋(๋ช
๋ น์ด)๋ก ์ธํ
ํ ์ ์์์
5. ์ค์ต ํ๊ฒฝ ์ํคํ
์ฒ (ํฌํธ/๋คํธ์ํฌ ํ๋ฆ)
- ๊ฐ๋จํ์ง๋ง ์ค์ต ํ๊ฒฝ ์ํคํ
์ฒ๋ฅผ ์ง์ ๊ทธ๋ ค๋ดค๋ค

- Mac(Host)
- Docker Desktop ์คํ (๋์ปค ์์ง/์ปจํ
์ด๋ ๊ด๋ฆฌ)
- Sequel Ace(๋ก์ปฌ ํด๋ผ์ด์ธํธ) โ ํฌํธํฌ์๋ฉ(127.0.0.1:3307 โ MariaDB ์ปจํ
์ด๋:3306)
- ํฐ๋ฏธ๋ SSH โ ํฌํธํฌ์๋ฉ(127.0.0.1:2222 โ Ubuntu ์ปจํ
์ด๋:22)
- Docker Container
- Ubuntu(SSH ์๋ฒ ๊ตฌ๋)
- MariaDB(๋ณ๋ ํฌํธ, ๋ฐ์ดํฐ ๋ณผ๋ฅจ, ๋คํธ์ํฌ ๊ฒฉ๋ฆฌ)
- ๊ฐ ์ปจํ
์ด๋๋ ๋ณ๋ ๊ฐ์ ๋คํธ์ํฌ(bridge)์์ ๋์
- ์ปจํ
์ด๋ ๋ด๋ถ์์๋ 172.x.x.x์ ๊ฐ์ ๋ด๋ถ IP๋ก ์ง์ ํต์ ๊ฐ๋ฅ (Ubuntu โ MariaDB ๋ฑ)
- Mac์์๋ ์ค์ง ์ธ๋ถ๋ก ๊ฐ๋ฐฉํ ํฌํธ๋ก๋ง ์ ๊ทผ ๊ฐ๋ฅ
6. ์ค์ ์ค์น/์คํ ๊ฒฝํ (๋ช
๋ น์ด /์ค์ ํ๋ฉด ์ ๋ฆฌ)
1) Docker Desktop ์ค์น
2) MariaDB ์ปจํ
์ด๋ ๋์ฐ๊ธฐ
MariaDB ์ปจํ
์ด๋ ์คํ ์์
docker pull mariadb:latest
docker run -d \
--name mariadb-test \
-e MYSQL_ROOT_PASSWORD=๋น๋ฐ๋ฒํธ \
-p 3307:3306 \
mariadb:latest
์ต์
| ์ค๋ช
| ์์ |
---|
-d | ์ปจํ
์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋(Detached)๋ก ์คํ | docker run -d ... |
--name | ์ปจํ
์ด๋์ ์ด๋ฆ ์ง์ | docker run --name my-container ... |
-e | ํ๊ฒฝ๋ณ์(ex. ๋น๋ฐ๋ฒํธ ๋ฑ) ์ค์ | docker run -e MYSQL_ROOT_PASSWORD=๋น๋ฒ ... |
-p | ํฌํธํฌ์๋ฉ (๋ก์ปฌ:์ปจํ
์ด๋) ์ค์ | docker run -p 3307:3306 ... |
3)Ubuntu ์ปจํ
์ด๋ ๋์ฐ๊ธฐ
- Ubuntu(SSH) ์ปจํ
์ด๋ ์คํ ์์
docker pull rastasheep/ubuntu-sshd:18.04
docker run -d \
--name ubuntu-ssh \
-p 2222:22 \
rastasheep/ubuntu-sshd:18.04
๊ธฐ๋ณธ ubuntu ์ด๋ฏธ์ง์๋ SSH ๋ฐ๋ชฌ์ด ์ค์น/๊ตฌ๋๋์ด ์์ง ์์ผ๋, rastasheep/ubuntu-sshd์ ๊ฐ์ด SSH๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํจ.
4) Sequel Ace/ํฐ๋ฏธ๋ ์ฐ๊ฒฐ ์์
- Sequel Ace์์ ์ฐ๊ฒฐ ์ค์
Host: 127.0.0.1
Port: 3307 (์๊น -p 3307:3306์ผ๋ก ํฌ์๋ฉํ ํฌํธ)
์ฌ์ฉ์/๋น๋ฒ: MariaDB ํ๊ฒฝ์ ๋ง๊ฒ ์
๋ ฅ
ssh root@127.0.0.1 -p 2222
- ๋ช
๋ น์ด๋ฅผ ํตํด ๋๋ค ์ ์ฐ๊ฒฐ ๋๋์ง ํ์ธ

4) ์ปจํ
์ด๋ IP/ํฌํธ/๋คํธ์ํฌ ํ์ธ๋ฒ

docker ps
docker inspect [์ปจํ
์ด๋๋ช
] | grep IPAddress

docker exec -it [์ปจํ
์ด๋๋ช
] bash
ifconfig
7. Docker์ ๊ธฐ์ ์ ๋ฐฐ๊ฒฝ (CS ๊ด์ ์์ฝ)
CS๋ฅผ ๋จ์ํ ์ด๋ก ์ผ๋ก๋ง ๋ฐ์๋ค์ด์ง ์๊ณ , ์ง์ ์ฌ์ฉํ๋ ํด์ ์ ์ฉํ CS๊ด์ ์ ์ถํ ๊ณต๋ถํ๊ธฐ ์ํด ์ ๋ฆฌ ํด๋์ผ๋ ค๊ณ ํ๋ค.
- ๋ฆฌ๋
์ค ์ปค๋ ๊ธฐ์ : Namespace(๊ฒฉ๋ฆฌ), cgroups(๋ฆฌ์์ค ์ ํ), OverlayFS(๊ณ์ธตํ)
- ์ด๋ฏธ์ง ๋ ์ด์ด: ๋ถํ์ํ ์ค๋ณต ์์ด, ๊ณตํต ํ์ผ์ ๊ณต์ ํ๊ณ ํ์ํ ๋ถ๋ถ๋ง ์ถ๊ฐ
- ๊ฒฉ๋ฆฌ ์์ค: ํ๋ก์ธ์ค, ๋คํธ์ํฌ, ํ์ผ์์คํ
, ์ฌ์ฉ์ ๊ถํ ๋ฑ ๋ชจ๋ ๋ณ๋ ๊ณต๊ฐ์ฒ๋ผ ๋ถ๋ฆฌ
- ์คํ ์๋: OS ๋ถํ
์์ด ์ปจํ
์ด๋ ํ๋ก์ธ์ค๋ง ์คํ. VM ๋๋น ์๋์ ์๋/ํจ์จ
8. ์์ผ๋ก์ ์ค์ต/ํ์ต ๋ชฉํ ( ๋ฌด์กฐ๊ฑด ํ๋ฆฌ๋ผ..)
-
docker-compose๋ก ์ฌ๋ฌ ์๋น์ค ์ผ๊ด ๊ด๋ฆฌ ๋ฐ ์๋ํ
-
MariaDB ๋ฐ์ดํฐ ๋ณผ๋ฅจ, ๋ฐฑ์
/๋ณต๊ตฌ, ๋ฐ์ดํฐ ์ด๊ด ์๋ํ
-
Spring๊ณผ์ ์ค์ ์ฐ๋ ํ๋ก์ ํธ ๊ตฌ์ถ
-
CI/CD, Jenkins, Github Actions ๋ฑ DevOps ํ์ดํ๋ผ์ธ ์ค์ต
-
AWS, GCP ๋ฑ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ๋ฐฐํฌ ์ค์ต
[Reference]