1. ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋์ปค์์ ๋ฐ์์ ๋์ ์ฟ ๋ฒ๋คํฐ์ค์์ ๋ฐ์์ ๋ ์ฌ์ด์ฆ๊ฐ ๋ค๋ฅธ ์ด์
- dockerhub ์ ์ฌ๋ผ๊ฐ์ ธ ์๋ ์ด๋ฏธ์งํฌ๊ธฐ์ ๋์ปค, ์ฟ ๋ฒ๋คํฐ์ค์ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๋ค
- dockerhub : 248.2MB
- ๋์ปค : 490MB
- containerd : 248.3MiB
1-1. ์ถ๋ก
1. Container Image๋ฅผ ๋ง๋ค ๋ ํ๋ซํผ(amd64, arm64)์ ๊ณ ๋ คํด์ผ ๋๋๋ฐ, Docker์์๋ amd64๋ฅผ ๋ฐ์๊ณ , Kuberentes์์ arm64๋ฅผ ๋ฐ์์ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ก์ ๊ฒ์ด๋ค.
- ํด๋น ์ด๋ฏธ์ง๋ Mac M ์๋ฆฌ์ฆ๋ Window ์ ์ ๊ฐ ๋ชจ๋ ๋ฐ์ ์ ์๋๋ก ์์ฑ
- Docker ์๋ amd64, Containerd ๋ amd64์ arm64 ๋๋ค ์์ง๋ง, Containerd ์ ์ฉ๋์ด ๋ ์๋ค
→ ํ์ฌ๋ก์ ์ ๋ต์ด ์๋
2. Container ์ด๋ฏธ์ง๋ ๊ฐ๊ฐ์ Layer๋ก ๊ตฌ์ฑ๋ผ ์๋๋ฐ, Docker์์ ๋ค์ด ๋ฐ์ ๋๋ ์ ์ฒด Layer๋ฅผ ๋ฐ์๊ณ , Kubernetes์๋ ๊ธฐ์กด ์ด๋ฏธ์ง์ ์ด๋ฏธ ์กด์ฌํ๋ Layer๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ก ๋ฐ์ ์ด๋ฏธ์ง์ Size๊ฐ ์๊ฒ ์กฐํ ๋์ ๊ฒ์ด๋ค.
- Docker ์ด๋ฏธ์ง → ํ์ผ๋ก ๋ณ๊ฒฝ์ ์ด๋ฏธ์ง ์ฌ์ด์ฆ๊ฐ ์ฝ๊ฐ ์์์ก์ง๋ง, ์ฐจ์ด๋ ์์
- ๊ทธ ํ์ผ์ Containerd ๋ก Import ํ์ ๋๋ ์ฌ์ด์ฆ ๋ณํ๋ ์์
- Containerd ์ด๋ฏธ์ง → Docker ๋ก ๋ฃ์์ ๋ ์ด๋ฏธ์ง๊ฐ ์ฆ๊ฐ
→ Docker ์์ Containerd ๋ก ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ๊ฐ์ ๋ Size ๊ฐ ๊ทธ๋๋ก์ด๊ณ , ๋ฐ๋๋ก Containerd ์์ Docker ๋ก ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ๊ฐ์ ๋ Size ๊ฐ ์ฆ๊ฐํ๋ ์์ธ์ ์ฐพ์์ผ ํ๋ค.
3. ์ฟ ๋ฒ๋คํฐ์ค์๋ ๋ค๋ฅธ Runtime์ ์ฌ์ฉ ํ์ ์ ์๊ณ , ๊ฐ์ ์ด๋ฏธ์ง๋๋ผ๋ ์ฌ์ฉํ๋ Runtime์ ๋ฐ๋ผ์ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ ๋ฌ๋ผ์ง ๊ฒ์ด๋ค.
- Docker ๋ ๋ค๋ฅธ ๋ง์ ๊ธฐ๋ฅ๋ค์ ์ง์ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋ค์ด ๋ฐ์ ์ดํ ์์ ์ ๋งคํ๋ฐ์ดํฐ ๊ท๊ฒฉ์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ค์ ์ถ๊ฐํ๊ณ , ์ด๋ฏธ์ง๋ฅผ ์ฌ๊ตฌ์ฑ → ์ด๋ฏธ์ง ์ฌ์ด์ฆ๊ฐ ์ปค์ง
- Container ์์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์์ ๋๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๊ตฌ์ฑ → ์ด๋ฏธ์ง ์ฌ์ด์ฆ๊ฐ ์ปค์ง
- Docker → Contained ๋ก ๊ฐ์ ธ๊ฐ์ ๋ Docker ์์ ์ฌ๊ตฌ์ฑํ๋๋ผ ์ปค์ง ๋ถํ์ํ ๋ฉํ๋ฐ์ดํฐ๋ค์ด ๊ทธ๋๋ก ๋ค์ด๊ฐ์ง
1-2. ๊ฒฐ๋ก
- ์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋์ง ์๋ ํ๊ฒฝ์์๋ ์ด๋ฏธ์ง๋ค์ ๋ค์ด ๋ฐ์์ ํ์ผ ํํ๋ก ๋ณต์ฌ ํด์ผ ํ๋ค
- ์ฟ ๋ฒ๋คํฐ์ค์์ Contaienrd๋ฅผ ์ฌ์ฉํ๋ค๋ฉด Docker๋ก ๋ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋ณต์ฌํด ๋ฃ์ ๊ฒฝ์ฐ ๋ถํ์ํ๊ฒ ์ด๋ฏธ์ง ์ฌ์ด์ฆ๊ฐ ์ปค์ง๊ฒ ๋๋ค.
2. Docker ์ Containerd ๋ช ๋ น ์ค์ต
2-1. ๋ฌธ์
๐ฅ
Docker Hub ์์ ์ฌ๋ฌ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ค์ ๋ค์ด๋ฐ์ ๋ ๋์ปค์์ “toomanyrequests” ์๋ฌ ๋ฐ์
→ ๋์ปค ํ๋ธ ์ ์ฑ ์ ์ต๋ช ์ ์ ์ ๊ฒฝ์ฐ IP ๊ธฐ๋ฐ์ผ๋ก 6์๊ฐ ๋์ 100๋ฒ ๋ค์ด
→ ๋ก๊ทธ์ธ์ ์ ์ ๊ฒฝ์ฐ IP ๊ธฐ๋ฐ์ผ๋ก 200๋ฒ์ ๋ค์ด ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์
- ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ ค๋ฉด 6์๊ฐ์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค
- ์กฐ๊ธ ๋ ๋นจ๋ฆฌ ๋ฐ๊ธฐ ์ํด์๋ ๋ด ๊ฐ์ธ ๋ ธํธ๋ถ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ค์ด ๋ฐ๊ณ , ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์๋ ์๋ฒ๋ก ๋ณต์ฌํด์ผ ํ๋ค
- ์์ ๊ฐ์ ์ํฉ์ด ์๊ธฐ๋ ๊ฒฝ์ฐ [๋์ปค 6] > [๋์ปค 7] > [์ปจํ ์ด๋ 7] ์์ผ๋ก ์์
- ์ค๋ฌด์์ ๋ง์ด ์ฐ๋ ๋ช ๋ น์ด๋ค ์์ฃผ๋ก ์ ๋ฆฌ
2-2. ๋์ปค (Docker)
1. ๋น๋
docker build -t soyeon207/hello:1.0.0 .
2. ์ด๋ฏธ์ง ๋ฆฌ์คํธ ์กฐํ
docker image list
3. ํ๊ทธ ๋ณ๊ฒฝ
docker tag soyeon207/hello:1.0.0 soyeon207/hello:2.0.0
4-1. ๋ก๊ทธ์ธ
docker login -u soyeon207
4-2. ์ด๋ฏธ์ง ์ ๋ก๋
docker push 1pro/soyeon207:1.0.0
5. ์ด๋ฏธ์ง ์ญ์
docker rmi soyeon207/hello:1.0.0
docker rmi soyeon207/hello:2.0.0
6. ์ด๋ฏธ์ง ๋ค์ด๋ก๋
docker pull soyeon207/hello:1.0.0
7. ์ด๋ฏธ์ง → ํ์ผ๋ก ๋ณํ
docker save -o file.tar 1pro/hello:1.0.0
ls file.tar
์ด๋ฏธ์ง ์ญ์
docker rmi soyeon207/hello:1.0.0
8. ํ์ผ → ์ด๋ฏธ์ง๋ก ๋ณํ
docker load -i file.tar
docker image list
2-3. ์ปจํ ์ด๋๋
1. ๋ค์์คํ์ด์ค ์กฐํ
ctr ns list
2. ํน์ ๋ค์์คํ์ด์ค ๋ด ์ด๋ฏธ์ง ์กฐํ
ctr -n k8s.io image list
3. ๋ค์ด๋ก๋ ๋ฐ ์ด๋ฏธ์ง ํ์ธ
ctr images pull docker.io/soyeon207/hello:1.0.0
- default ๋ค์์คํ์ด์ค์ ๋ค์ด
ctr ns list
ctr images list
4. ํ๊ทธ ๋ณ๊ฒฝ
ctr images tag docker.io/soyeon207/hello:1.0.0 docker.io/soyeon207/hello:2.0.0
ctr images list
5. ์ ๋ก๋
ctr image push docker.io/soyeon207/hello:2.0.0 --user soyeon207
6. ์ด๋ฏธ์ง > ํ์ผ๋ก ๋ณํ
ctr -n default image export file.tar docker.io/soyeon207/hello:1.0.0
7. ํ์ผ > ์ด๋ฏธ์ง๋ก ๋ณํ
ctr -n k8s.io image import file.tar
ctr -n k8s.io image list | grep hello
8. ์ญ์
ctr -n k8s.io image remove docker.io/soyeon207/hello:1.0.0
ctr -n k8s.io image list | grep hello
'๐ฑ ์ธํ๋ฐ > โ ์ฟ ๋ฒ๋คํฐ์ค ์ด๋๋ ํด๋์ค (์ง์ํธ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(15) ArgoCD ์ํคํ ์ฒ, Argo Apps ์ค์น ๋ฐ ๋ฐฐํฌ ํด๋ณด๊ธฐ (0) | 2025.06.24 |
---|---|
(14) Helm๊ณผ Kustomize ๋น๊ตํ๋ฉฐ ์ฌ์ฉ-2 (1) | 2025.06.24 |
(13) Helm ๊ณผ Kustomize - 1 (Helm vs Kustomize, Helm ๋ฐฐํฌ) (1) | 2025.06.15 |
(12) Jenkins Pipeline (๊ธฐ์ด๋ถํฐ Blue/Green ๊น์ง) (1) | 2025.06.14 |
(11) ๋ฐฐํฌ๋ฅผ ์์ํ๊ธฐ ์ ์ ๋ฐ๋์ ์์์ผ ํ ๊ฒ๋ค (2) | 2025.06.11 |