I. ๊ฐ์ ๋ฐ ํ์ ์ค๋น ์ฌํญ
1. containerd์ ์ญํ ์ฌ์ ๋ฆฝ
containerd๋ ์ปจํ ์ด๋์ ์คํ ์์ง(Runtime) ๊ทธ ์์ฒด์ ๋๋ค.- ํ์๋ง ํ๊ฒฝ์์๋ ์ธ๋ถ ๋ ์ง์คํธ๋ฆฌ(Docker Hub ๋ฑ)์ ์ ์ํ ์ ์์ผ๋ฏ๋ก,ย ์ฌ์ ์ ํ์ํ ์ด๋ฏธ์ง๋ฅผ ํ์ผ ํํ๋ก ํ๋ณดํ์ฌ ๋ด๋ถ ๋ก์ปฌ ์ ์ฅ์์ ์๋์ผ๋ก ์ฃผ์ (Load)ํด์ผ ํฉ๋๋ค.
2. ํ์๋ง ํ๊ฒฝ์ ํน์ฑ ์ดํด (๋งค์ฐ ์ค์)
- ํต์ฌ ์ ํ:ย ์ธํฐ๋ท ์ ์ ๋ถ๊ฐ.
- ์์ ํ๋ฆ:ย ๋ชจ๋ ์์ ์ย โ ์ธํฐ๋ท ์ฐ๊ฒฐ ํ๊ฒฝ์์ ์ด๋ฏธ์ง ํ์ผ์ ๋ค์ด๋ก๋ํ๊ณ โก ์ด ํ์ผ์ **๋ฌผ๋ฆฌ์ ๋งค์ฒด(USB, ์ธ์ฅ ํ๋)**๋ฅผ ํตํดย โข ํ์๋ง ๋ด๋ถ๋ก ์ฎ๊ฒจ์ ์คํํด์ผ ํฉ๋๋ค.
- ๋๊ตฌ:ย ๋ก์ปฌ ํ์ผ ์์คํ
๊ณผย
containerd์ CLI ๋๊ตฌ(ctrย ๋๋ยcrictl)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
3. ์ ์ ์กฐ๊ฑด: ์ด๋ฏธ์ง ํ๋ณด ๋ฐ ์ ์ก (์ค๋น ์์ )
| ๊ตฌ๋ถ | ๋ด์ฉ | ์ฌ์ฉ ๋๊ตฌ | ๋น๊ณ |
|---|---|---|---|
| ์ด๋ฏธ์ง Pull | ์คํํ ์ปจํ ์ด๋์ ์ด๋ฏธ์ง๋ฅผ ์ธํฐ๋ท ํ๊ฒฝ์์ ๋ค์ด๋ก๋ํฉ๋๋ค. | docker pull |
๊ธฐ๋ณธ ์์ |
| ์ด๋ฏธ์ง ์ ์ฅ | ๋ค์ด๋ก๋ํ ์ด๋ฏธ์ง๋ฅผย Portable Archiveย ํ์ผ ํํ๋ก ๋ง๋ญ๋๋ค. | docker saveย ๋๋ย skopeo |
์ด ํ์ผ์ด ๋ฌผ๋ฆฌ์ ์ ์ก ๋์์ ๋๋ค. |
| ์ด๋ฏธ์ง ์ ์ก | Archive ํ์ผ์ USB ๋ฑ์ ์ด์ฉํด ํ์๋ง์ผ๋ก ์ฎ๊น๋๋ค. | USB Drive | ์ ์ก ๊ณผ์ ์์ ํ์ผ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํด์ผ ํฉ๋๋ค. |
II. ๐ 1๋จ๊ณ: ์ธํฐ๋ท ์ ์ ๊ฐ๋ฅํ ํ๊ฒฝ (Preparation Phase)
(์ด ๋จ๊ณ๋ ๋ฐ๋์ ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋ย ์ค๋น์ฉ ์ํฌ์คํ ์ด์ ์์ ์งํํฉ๋๋ค.)
1. ์ด๋ฏธ์ง ํ๋ณด ๋ฐ ์บ์ฑ ์ ๋ต
- ํ์ ์ด๋ฏธ์ง ์๋ณ:ย ์คํํ ์ปจํ
์ด๋์ ์ ํํ ์ด๋ฆ๊ณผ ํ๊ทธ(์:ย
nginx:stable-alpine)๋ฅผ ํ์ ํฉ๋๋ค. - ๋์ปค ํ:ย ํ์ํ ์ด๋ฏธ์ง๋ฅผ ๋ก์ปฌ๋ก ๋ค์ด๋ก๋ํฉ๋๋ค.
docker pull [์ด๋ฏธ์ง๋ช ]:[ํ๊ทธ]
2. ์ด๋ฏธ์ง ํ์ผ ์ถ์ถ ๋ฐ ์ ์ก ์ค๋น (Docker Save ์ฌ์ฉ)
- ๊ฐ์ฅ ๊ฐํธํ ๋ฐฉ๋ฒ:ย
docker save๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋จ์ผย.tarย ํ์ผ๋ก ๋ง๋ญ๋๋ค.# ์์: nginx ์ด๋ฏธ์ง๋ฅผ tar ํ์ผ๋ก ์ ์ฅ docker save -o nginx_image.tar nginx:latest - ํ (skopeo ์ฌ์ฉ):ย
skopeo๋ ๋ ์ง์คํธ๋ฆฌ๋ ๋ก์ปฌ์์ ์ด๋ฏธ์ง๋ฅผ ๋ณต์ฌ/๊ฒ์ฌํ๋ ๋ฐ ์ ์ฉํ๋ฉฐ, ํ์๋ง ์ ์ก ์ ์ด๋ฏธ์ง ๋ ์ด์ด์ ๋ฌด๊ฒฐ์ฑ์ ์ ๊ฒํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
3. ๋ฌผ๋ฆฌ์ ์ ์ก ๋งค์ฒด ํ์ฉ
- ์์ฑ๋ย
.tarย ํ์ผ์ USB ๋๋ ์ธ์ฅ ํ๋์ ๋ณต์ฌํฉ๋๋ค. - ๋ณด์ ๊ฒ์ฆ:ย ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ์ด ํ์ผ์ ํด์ ๊ฐ(SHA256)์ ๊ธฐ๋กํ์ฌ, ํ์๋ง ์ง์ ํ ํ์ผ์ด ๋ณ์กฐ๋์ง ์์๋์ง ๊ฒ์ฆํ ๊ทผ๊ฑฐ๋ฅผ ๋จ๊น๋๋ค.
III. ๐ด 2๋จ๊ณ: ํ์๋ง Red Hat ํ๊ฒฝ (Deployment Phase)
(์ด ๋จ๊ณ๋ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ์์ ํ ์ฐจ๋จ๋ย ํ์๋ง ์๋ฒ์์ ์งํํฉ๋๋ค.)
1. ์์คํ ์ค๋น ๋ฐ ํ๊ฒฝ ์ ๊ฒ
- containerd ์ค์น ํ์ธ:ย ์ด์์ฒด์ ๋ ํฌ์งํ ๋ฆฌ์์ย
containerd๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๋์ง ํ์ธํฉ๋๋ค. (์ค์น๊ฐ ์ ๋์๋ค๋ฉด, ์ด ์๋ฒ๊ฐ ์ด๋ค ๊ฒฝ๋ก๋ก ํจํค์ง๋ฅผ ๋ฐ์๋์ง ๋ช ํํ ๊ธฐ๋กํด์ผ ํฉ๋๋ค.)sudo dnf install containerd.io - ์๋น์ค ์์:ย
containerdย ์๋น์ค๋ฅผ ์คํํฉ๋๋ค.sudo systemctl start containerd
2. ๋ก์ปฌ ์ด๋ฏธ์ง ์ฃผ์ (Load Image)
ํ์๋ง์์ย containerd์๊ฒ “์ด ํ์ผ์ด ์ด๋ฏธ์ง๋ค”๋ผ๊ณ ์๋ ค์ฃผ์ด ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ฅผ ์ฑ์์ผ ํฉ๋๋ค.
- ํ์ผ ์ด๋:ย USB ๋๋ผ์ด๋ธ์์ย
nginx_image.tarย ํ์ผ์ ์๋ฒ ๋ด๋ถ์ ์ ๊ทผ ๊ฐ๋ฅํ ๋๋ ํ ๋ฆฌ๋ก ์ฎ๊น๋๋ค. - ์ด๋ฏธ์ง ๋ก๋ (Import):ย
ctrย ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ Tarball ํ์ผ์ ์ปจํ ์ด๋ ๋ด๋ถ ๋ ์ง์คํธ๋ฆฌ๋ก ๊ฐ์ ธ์ต๋๋ค.# ํ์: ctr image import <๊ฒฝ๋ก/์ด๋ฏธ์งํ์ผ๋ช .tar> sudo ctr image import /mnt/usb/nginx_image.tar
3. ์ปจํ ์ด๋ ์คํ ๋ฐ ํ ์คํธ
- ์ปจํ
์ด๋ ์์ฑ ๋ฐ ์คํ:ย ๋ก์ปฌ์ ๋ก๋๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋๋ฅผ ์คํํฉ๋๋ค.
# ctr run [์ด๋ฏธ์ง ์๋ณ์] # ์ฃผ์: ์ด๋ฏธ์ง ์๋ณ์(Image Digest)๋ ๋ก๋ฉ ํ ์ถ๋ ฅ์ ํตํด ํ์ธํด์ผ ํฉ๋๋ค. sudo ctr run [๋ก์ปฌ ์ด๋ฏธ์ง Digest ๋๋ ์ด๋ฆ] - ์คํ ํ์ธ:ย ์๋ฒ์ ๋ฐฉํ๋ฒฝ ๋ฐ ๋คํธ์ํน ์ ์ฑ ์ ๋ฐ๋ผ ํฌํธ ํฌ์๋ฉ ์์ ์ด ํ์ํ ์ ์์ต๋๋ค.
IV. ๐ต 2๋จ๊ณ: ํ์๋ง Windows ํ๊ฒฝ (WSL2 ๊ธฐ๋ฐ)

(Windows ํ๊ฒฝ์์๋ ๋ฐ๋์ WSL2 ๋ฆฌ๋ ์ค ๊ฐ์ ํ๊ฒฝ ๋ด์์ Linux ๋ช ๋ น์ ์ฌ์ฉํฉ๋๋ค.)
1. WSL2 ํ๊ฒฝ ์ค์ ๋ฐ ์ ๊ฒ
- WSL2 ์ค์น:ย Windows์ WSL2๋ฅผ ์ค์นํฉ๋๋ค.
- ์ง์ :ย WSL2 ๋ด๋ถ์ ๋ฆฌ๋ ์ค ํฐ๋ฏธ๋ (์: Ubuntu ํฐ๋ฏธ๋)๋ก ์ง์ ํฉ๋๋ค.
- ์ค๋น:ย ํ์ํ ๋๊ตฌ(
containerd.io,ยdocker-ceย ๋ฑ)๋ฅผ WSL2 ๋ด๋ถ์์ ์ค์นํ๊ณ ์๋น์ค๋ฅผ ํ์ฑํํฉ๋๋ค.
2. ๋ก์ปฌ ์ด๋ฏธ์ง ์ฃผ์ (Load Image)
- ํ์ผ ๊ฒฝ๋ก ํ์ธ:ย WSL2 ํ๊ฒฝ ๋ด๋ถ์์ USB ๋๋ผ์ด๋ธ๊ฐ ๋ง์ดํธ๋ ์ ํํ ๊ฒฝ๋ก๋ฅผ ํ์ธํฉ๋๋ค. (์:ย
/media/usb/) - ์ด๋ฏธ์ง ๋ก๋:ย WSL2 ๋ด๋ถ์ ํฐ๋ฏธ๋์์ Linux ๋ช
๋ น์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
# ์ด๋ฏธ์ง ๋ก๋ฉ ๋ช ๋ น์ด (WSL ๋ด๋ถ์์ ์คํ) sudo ctr image import /mnt/usb/nginx_image.tar
3. ์ปจํ ์ด๋ ์คํ ๋ฐ ํ ์คํธ
- ์ปจํ
์ด๋ ์คํ:ย ๋ก์ปฌ๋ก ์ฃผ์
๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋๋ฅผ ์คํํฉ๋๋ค.
# (WSL ๋ด๋ถ) ์ปจํ ์ด๋ ์คํ sudo ctr run [๋ก์ปฌ ์ด๋ฏธ์ง Digest ๋๋ ์ด๋ฆ]
V. ๊ณตํต ์ปจํ ์ด๋ ์ด์ ์ค์ต (ํ์๋ง ํ๊ฒฝ)
| ์์ | ๋ช ๋ น์ด ์์ | ์ค๋ช |
|---|---|---|
| ์ํ ํ์ธ | sudo ctr images |
๋ก์ปฌ์ ์ ์ฅ๋ ๋ชจ๋ ์ด๋ฏธ์ง ๋ชฉ๋ก์ ํ์ธํฉ๋๋ค. |
| ์คํ ํ์ธ | sudo ctr pods |
ํ์ฌ ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ชฉ๋ก์ ํ์ธํฉ๋๋ค. |
| ๋ก๊ทธ ํ์ธ | docker logs <container_id> |
์ปจํ ์ด๋ ๋ด๋ถ์ ๋ก๊ทธ๋ฅผ ํ์ธํ์ฌ ๋ฌธ์ ์ ์ ์ง๋จํฉ๋๋ค. |
| ์ญ์ | docker rm <container_id> |
์ค์ง๋ ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ์ฌ ๋ฆฌ์์ค๋ฅผ ํ๋ณดํฉ๋๋ค. |
โ ๏ธ ์ค์ ์ฃผ์์ฌํญ:ย ํ์๋ง ํ๊ฒฝ์์๋ย
docker๋ยcontainerdย ๊ฐ์ ์ปจํ ์ด๋ ๋ฐํ์ ์์ฒด์ ๋ฐ์ด๋๋ฆฌ ๋ฐ ์ข ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Runtime Dependencies)๋ ๋ฏธ๋ฆฌ ํ๋ณดํ๊ณ ์์คํ ์ ๋ฐฐํฌํด์ผ ์ ์ ์๋ํฉ๋๋ค.