Red Hat ๊ธฐ๋ฐ ์์คํ ์ docker ๋์ podman์ ์ ํธํฉ๋๋ค.
podman์ docker ๋์ ๋ก์ปฌ์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ตฌ์ฑ ์ต์ ์ ์ถ๊ฐํ ์ ์์ต๋๊น?
๋๋ถ๋ถ์ ๋ช ๋ น์ ๋์ผํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ #1596์ ํตํด ์ฌ๋ฌ ๋ช ๋ น์ ์ถ๊ฐ๋ฉ๋๋ค. Dockerode๊ฐ ์ง์ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ ๋ค๋ฉด ๋๋ถ๋ถ์ ์๋๋ฆฌ์ค๋ฅผ ๋ค๋ฃฐ ๊ฒ์ ๋๋ค.
Dockerode(๋ฐ๋ผ์ ํ์๊ธฐ ๋ณด๊ธฐ์ ์๋ง์ ๋ช ๋ น)๊ฐ ์ค๋๋ Podman๊ณผ ์๋ํ ์ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง Podman์ ์์ ์ค์ธ HTTP API๋ฅผ ํตํด ์ต์ํ ๋ถ๋ถ์ ์ผ๋ก ํธํ๋๋๋ก ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. https://podman.io/blogs /2020/01/17/podman-new-api.html
Dockerode๊ฐ ์์ผ๋ฉด ์๋ง๋ docker build
(๊ธ์, podman build
) ๋ช
๋ น๊ณผ ๋ช ๊ฐ์ง ๋ค๋ฅธ ๊ธฐ๋ณธ ์ฌํญ์ด ์ฌ์ ํ ์ํ๋ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ผ ๊ฒ์
๋๋ค. #1596 ๋๋ถ์ ์ค๋ Podman์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ง๊ธ์ ์ด๊ฒ์ ์ด์ด๋๊ฒ ์ง๋ง Podman HTTP API๊ฐ ์กด์ฌํ ๋๊น์ง ํ์ฅ ๊ธฐ๋ฅ์ Podman๊ณผ ํจ๊ป ์ฌ์ฉํ ๋ ๊ทธ๋ค์ง ์ ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค.
Podman v2.0 ์ ์๋ก์ด HTTP API์ ํจ๊ป ์ถ์ ๋์์ผ๋ฏ๋ก ๋ ์ด์ ์ฐจ๋จ๊ธฐ๊ฐ ์๋๋๋ค.
@Nuc1eon๋ ๊ฐ์ฌํฉ๋๋ค! ๋ฌด์์ด ์๋ํ๊ณ ์๋ํ์ง ์๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ๊น์ง ๋ด๊ฐ ์๊ฐํด ๋ธ ๊ฒ์ด ์์ต๋๋ค.
*Remote๋ก ์ฐ๊ฒฐํด์ผ ํจ - SSH๋ Podman์ ์๊ฒฉ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ ๋ช ํํ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ์๋์์ ์์ธํ ์ค๋ช ํฉ๋๋ค.
Created
/ CreatedAt
๊ฐ์ด ์ผ์นํ์ง ์์ต๋๋ค. ์ปจํ
์ด๋ ์ํ ์์; ๋คํธ์ํฌ ID๊ฐ ์์ต๋๋ค.docker-modem
๋ ์๋ํ์ง ์๋ docker system dial-stdio
๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ssh๋ฅผ ํตํด Podman์ ์ง์ํ๋๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.@Nuc1eoN , @JacekPliszka , ๋ค๋ฅธ ์ฌ๋ -- ๊ทํ์ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก๋ ๋ฌด์์ ๋๊น? ์ํฌํ๋ก์ ๋ํ ์ด๋ฌํ ์ ํ์ ์ผ๋ง๋ ์ฌ๊ฐํ๊ฐ์?
์ฃ์กํฉ๋๋ค. ํด๋น ์ฃผ์ ์ ๋ํ ํ๋ก์ ํธ๊ฐ ์ทจ์๋์ด ํ์ฌ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ต๋๋ค. :(
ํ ํ๋ก์ ํธ๋ VM์ ๋จธ๋ฌผ๋ ๊ณ ๋ค๋ฅธ ํ๋ก์ ํธ๋ VM์์ ADF + Databricks๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ๊ณ ์์ต๋๋ค.
pandas ๊ธฐ๋ฐ์ python ETL์ ๋๋ค. ๋ฐ์ดํฐ์ ์ด ๋์ฐฉํ๋ฉด ์ ์ ํ ๋ฉ๋ชจ๋ฆฌ/CPU๊ฐ ์๋ VM์ด โโ์์๋๊ณ ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋๊ณ VM์ด ์ญ์ ๋ฉ๋๋ค.
๋ค์ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์ฐ๊ฒฐํ์ง ๋ชปํ์ต๋๋ค. ๋์ปค๊ฐ ์ค์น๋์ด ์์ต๋๊น?
$ podman --version
podman version 2.0.4
Fedora 32์ Visual Studio ์ฝ๋
Podman๊ณผ Docker๋ 2๊ฐ์ง ๋ค๋ฅธ ๋ชฉ์ ์ ๊ฐ์ง 2๊ฐ์ง ๋ค๋ฅธ ์ ํ์
๋๋ค!
Docker๋ Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ ๋ฐ ๊ด๋ฆฌํ๊ณ ํด๋ผ์ด์ธํธ-์๋ฒ ์๋๋ฆฌ์ค์์ ์คํํ๋ ์๋ฒ์
๋๋ค.
Podman์ Kubernetes ํด๋ฌ์คํฐ์ ๋ฐฐํฌ๋ ์๋ฒ๋ฆฌ์ค ํด๋ผ์ฐ๋ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ์ํ ๋๊ตฌ ์ฒด์ธ์
๋๋ค.
Podman์ ๊ธฐ๋ณธ Kubernetes ์ํฐํฉํธ์ ๋น ๋ฅธ ์์ ์์ฑ์ ํ์ฉํฉ๋๋ค. Pod์๋ ๋จ์ผ Docker ์ปจํ
์ด๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Podman KUBE ์์ฑ์ ์ฌ์ฉํ์ฌ Pod ์ ์ YAML ์์ฑ,
๊ทธ ์ ์๋ฅผ ๊ฐํํ๊ณ ,
๊ทธ๋ฐ ๋ค์ podman KUBE play๋ฅผ ์ฌ์ฉํ์ฌ Pod ํ
์คํธ
๊ทธ๋ฐ ๋ค์ Podman ๋ Docker-compose ์์์ ๊ฐ์ด Kubernetes ํด๋ฌ์คํฐ์ ์ ์๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
๋์ ์ํคํ
์ฒ๊ฐ ์๋ฒ๋ฆฌ์ค์ด๊ธฐ ๋๋ฌธ์ Podman์ ์๋ฒ๊ฐ ํ์ํ์ง ์์ต๋๋ค. ๋ก์ปฌ๋ก ์คํํ๊ฑฐ๋ ์ปจํ
์ด๋ ๋ด๋ถ์์ ์คํํ ์๋ ์์ต๋๋ค. Podman์ Docker์ ํธํ๋์ง๋ง Podman์ด Kubernetes์ ํธํ๋๋ ๊ฒ์ด ๋ ์ค์ํฉ๋๋ค.
์ฆ, dev-container์ dev-pod๋ 2๊ฐ์ง ๋ค๋ฅธ ๊ฒ์
๋๋ค.
Fedora 33์์ vscode๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ podman์ด ์ ๊ณตํ๋ docker
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋๋ฅผ ๋น๋ํ ์ ์์ต๋๋ค.
๊ทํ์ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก๋ ๋ฌด์์ ๋๊น? ์ํฌํ๋ก์ ๋ํ ์ด๋ฌํ ์ ํ์ ์ผ๋ง๋ ์ฌ๊ฐํ๊ฐ์?
vscode๋ฅผ ์ค์นํ ์ฃผ๋ ์ด์ ๋ ์ปจํ ์ด๋ ๋ด๋ถ์์ ์คํ๋๋ .NET Core ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฒ๊ทธํ๊ธฐ ์ํด์์์ต๋๋ค. CLI๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ถ๋ถ์ ๋ค๋ฅธ ์์ (๋น๋, ํ ์คํธ, ๋ฆด๋ฆฌ์ค)์ ์ํํ ์ ์์ง๋ง ๋ํํ ๋๋ฒ๊น ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ ํ ๊ณณ์ ๋๋ค.
Podman๊ณผ Docker๋ 2๊ฐ์ง ๋ค๋ฅธ ๋ชฉ์ ์ ๊ฐ์ง 2๊ฐ์ง ๋ค๋ฅธ ์ ํ์ ๋๋ค!
์ฃ์กํ์ง๋ง ๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ ๋ชฉ์ ์ ์ ํํ ๋์ผํฉ๋๋ค. ์ฆ, ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ๊ฒ์ ๋๋ค.
@bwateratmsft ํ๋ฌ๊ทธ์ธ์ด podman์ ์ ํํ๊ณ ์ฌ์ฉํ๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ์กฐ์ฌํ ์ ์์ต๋๊น?
์๋ํ์ง ์๋ ๊ฒ
podman docker ํธํ์ฑ์ ์ง์์ ์ผ๋ก ๊ฐ์ ๋๊ณ ์์ต๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ๋ถ์ผ์น๋ฅผ ํด๊ฒฐํ์ง ์์์ผ ํฉ๋๋ค. ์๋ํ์ง ์๋ ๊ฒ์ podman์ ๋ํด ๋ณด๊ณ ํ ์ ์์ต๋๋ค.
*Remote๋ก ์ฐ๊ฒฐํด์ผ ํจ - SSH๋ Podman์ ์๊ฒฉ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ ๋ช ํํ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ์๋์์ ์์ธํ ์ค๋ช ํฉ๋๋ค.
๊ธฐ์ ์ ์ผ๋ก ssh๋ฅผ ํตํด ์ ๋์ค ์์ผ์ ํฌ์๋ํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ผ ํ๋ฉฐ _'๊ทธ๋ฅ ์๋'ํด์ผ ํฉ๋๋ค.
API ์๋น์ค๋ ์ฌ๋ถํ ํ ๋๋ง๋ค ์๋์ผ๋ก ์์ํด์ผ ํ๋ฏ๋ก ์ฑ๊ฐ์ ์ผ์ ๋๋ค(์๋์ผ๋ก ์์ํ๋๋ก ํ์คํ ๊ตฌ์ฑํ ์ ์์).
๋ํ ์ฌ์ฉ์๋ณ์ด๋ฏ๋ก ์์ ์์ผ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
/run/user/<uid>/podman/podman.sock
์์ ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ systemctl --user enable --now podman.socket
๋ฅผ ์คํํ๋๋ก ์ ์ํฉ๋๋ค.
์ฌ๊ธฐ์ ์ฐฉ๋ฅํ๊ณ Linux์์ Podman๊ณผ ํจ๊ป Docker ํ์ฅ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ:
systemctl --user enable --now podman.socket
{"socketPath":"/run/user/<your uid>/podman/podman.sock" }
๋ก ์ค์ ํฉ๋๋ค.๋ชจ๋ ๊ธฐ๋ฅ์ด ์์๋๋ก ์๋ํ๋ ๊ฒ์ ์๋๋ฉฐ ์ผ๋ถ ๊ธฐ๋ฅ์ด ์์๋ ์ ์์ต๋๋ค.
๊ฐ์ฌ ํด์! Kubernetes์ OpenShift๊ฐ ๊ทธ๋ฌ๋ ๊ฒ์ฒ๋ผ Docker๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ์ต๋๋ค. Docker๋ Docker์์ ์ฌ์ฉ๋๋ ์ค์ OCI ์ปจํ
์ด๋ ๋ฐํ์์ธ runc๋ฅผ ์ฌ์ฉํ์ฌ Dev-container๋ฅผ ์คํํ๊ธฐ ์ํด์๋ง ์ฌ๋ฌ ๊ณ์ธต์ ์ค์นํ๊ณ ์ ์ง ๊ด๋ฆฌํด์ผ ํ๋ ๊ณ ๊ณผ์ธ ์๋ฃจ์
์
๋๋ค.
๊ตฐ๋จ???
๋์ปค๋ ???
์ปจํ
์ด๋ ???
Dev-container๋ ์ด๋ฅผ ํ์ฉํ๊ธฐ ์ํด ์๋ฒ๋ฆฌ์ค, ํ์ฅ ๊ฐ๋ฅ, ์ฅ์ ์กฐ์น, ๋กค์
์
๊ทธ๋ ์ด๋ ๋ฑ์ผ๋ก ์ค๊ณ๋์ง ์์์ต๋๋ค.
๋์ปค ๋น๋ ์ ํ์๋ ์ ์ฅ์๊ฐ ํ์ํฉ๋๋ค.
Podman์ ๋์ผํ ์ปดํจํฐ, ์๊ฒฉ ์ปดํจํฐ ๋๋ Kubernetes ํด๋ฌ์คํฐ์์ Podman ๋๋ Kubernetes๊ฐ ์คํํ ์ ์๋ ๋จ์ผ ๋ฉํ ํ์ผ pod-resource .yaml์ ์์ฑํฉ๋๋ค.
๋๊ตฌ ๊ฐ๋ฐ์๊ฐ ์ ์ง ๊ด๋ฆฌํ๋ ์ฌ์ด๋์นด ๋๊ตฌ ์ธํธ์ ์ํ Workspace Pod ํ์ฅ์ ๊ฐ๋ฐ ์ปจํ
์ด๋ ๋น๋์ ๊ธด ์๊ฐ์ด ์๋ 5์ด๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
๋ด๊ฐ ์ด๋ฏธ ํ
์คํธํ ๋ชจ๋ ๊ฒ์ Linux๊ฐ ์๋ Ubuntu 20.04 WS: distro์์ ํ
์คํธํ์ต๋๋ค.
Ubuntu Kube์ Micro k8s๋ ์ด๋ฏธ cri-o ๊ธฐ๋ฐ์
๋๋ค. Docker๋ฅผ ์ปจํ
์ด๋ ๋ฐํ์์ผ๋ก ์ฌ์ฉํ์ง ์์ต๋๋ค.
@tmds @bwateratmsft
"Podman"์ ์๊ฐํ๋ฉด "์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ ํ์ํ์ง ์๋ค"๊ณ ์๊ฐํฉ๋๋ค. ์ฆ, Docker๋ฅผ ํด์งํต์ ๋ฒ๋ฆฐ ํ Dockerod๋ฅผ ๋์ผํ ํด์งํต์ ๋์ง๊ณ ์ถ์ต๋๋ค. ํฌ๋๋งจ์ CLI์
๋๋ค. "๋ฏธ๋ค์จ์ด" ์์ด ๋ก์ปฌ์์ ๋๋ SSH๋ฅผ "๋ฏธ๋ค์จ์ด"๋ก ์๊ฒฉ์ผ๋ก ์ฌ์ฉํ์ฌ ๋ชจ๋ CLI ๋ช
๋ น์ ์คํํ ์ ์์ต๋๋ค. WSL์์ Podman ๋ช
๋ น์ ์คํํ๋ ค๋ฉด wsl -e ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Podman ๋ช
๋ น์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๊ฑฐ๋ ์ฝ๊ฒ ๋ ๋๋งํ ์ ์๋๋ก ํ๋ ค๋ฉด --format ์ต์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Podman ๋ช
๋ น์ ๊ฐ์ฒด ๋ชจ๋ธ์ API ์ฌ์์ ์ ๊ณต๋์ง๋ง ์์ผ์ ์ฌ์ฉํ ํ์๋ ์์ต๋๋ค.
@PavelSosin-320 ๋ ธ๋ ฅ์ ์ต์ํํ๋ ๊ฒ์ podman cli๋ฅผ ํฌํจํ๋ podman์ ์ํด ๋ ธ์ถ๋๋ ๋์ปค ํธํ ์ธํฐํ์ด์ค์ podman ์์ผ์ ํตํด ๋ ธ์ถ๋๋ API ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์์กดํฉ๋๋ค.
@bwateratmsft ๊ฐ ๋งํ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก podman ์ง์์ ๋ค์๊ณผ ๊ฐ์ด ์์ฝ๋ฉ๋๋ค.
podman version
๋ฅผ ์คํํ์ฌ ์์คํ
์ podman์ด ์๋์ง ๊ฐ์งํฉ๋๋ค./run/user/<uid>/podman/podman.sock
์ ์๋ ์์ผ์ ์ฌ์ฉํ๊ฑฐ๋ ์์ผ๋ฉด systemctl --user enable --now podman.socket
๋ฅผ ์คํํ๋๋ก ์ฌ์ฉ์์๊ฒ ์ ์ํฉ๋๋ค.docker/podman ์ ์ง ๊ด๋ฆฌ๋ ๊ณ ๋ คํ์ง ์์ต๋๋ค. ํ์ง๋ง "Maintanence Champion" ํ์ฌ์์ ์ง์ํ๋ Podman ํ๋ก์ ํธ์ ์ฃผ์ ๋ชฉ์ ์
๋๋ค. Podman, Docker, Kubernetes๋ OCI, CNI, Rest API์ ๊ฐ์ ๋์ผํ ํ์ค ์ธํธ๋ฅผ ๊ณต์ ํฉ๋๋ค.
Rest API ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋์ผํ ์ค์ ์ง์ค์ ๋ฐฉ์์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. ์: Kubernetes Rest API ํด๋ผ์ด์ธํธ Javascript . ๊ทธ๋ฆฌ๊ณ ์ ๋ช
ํ Fabric8 Kubernetes REST API ํด๋ผ์ด์ธํธ Java .
๊ฐ๋ฐ ๋
ธ๋ ฅ์ ์ด๋ฏธ ํด๋ผ์ฐ๋ ์ธ๊ณ์์ ์ต์ํ๋์์ต๋๋ค.
@bwateratmsft ๋ https://github.com/microsoft/vscode-docker/issues/1590#issuecomment -748526201์์ ์ ์๋ ๋จ๊ณ๋ฅผ ์ํํฉ๋๊น? ์ด๊ฒ์ด ๋ค์ ์คํ๋ฆฐํธ ์ค ํ๋์ ํฌํจ๋ ์ ์์ต๋๊น?
vscode-docker
์ด podman ์์ผ์ ์ฌ์ฉํ๋ฉด podman ์์ฒด์ ๋ํด ์ถ๊ฐ ๋ฌธ์ ๊ฐ ๋ณด๊ณ ๋ ์ ์์ต๋๋ค(https://github.com/containers/podman).
@JacekPliszka Docker๋ OCI ์ปจํ
์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋น๋, ๋ณต์ฌ ๋ฐ ์คํํ๋ ๋ฐ ํ์๊ฐ ์๋๋๋ค. ๋ค์์ ์ ํํ ์ ์์ต๋๋ค.
Runc, CRun, Dockerd, ๊ฐ๊ณต, Cri-O, Kata. ๋น๋๋ค. OCI์ ์ ํํ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. OCI ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ถํ๊ณ ์คํํ๋ ์์์ด ์์ต๋๋ค. ์ด ์คํ ํ์ผ์ ๋ชจ๋ ํ๊ฒฝ์์ ํ๋ก๊ทธ๋จ์ผ๋ก ์คํ๋ฉ๋๋ค. ํด๋ผ์ด์ธํธ, ์๋ฒ ๋ฐ REST API๋ ์ ํ ์ฌํญ์
๋๋ค.
Fedora WSL ๋ฐฐํฌํ์ ๋ด ์:
๋
ธ๋์์ ๋น๋๋ค
๋
ธ๋ ์์
์ปจํ
์ด๋
๋น๋ค ์ด๋ฏธ์ง
์ ์ฅ์ ํ๊ทธ ์ด๋ฏธ์ง ID ์์ฑ๋ ํฌ๊ธฐ
docker.io/library/node ์ต์ 1db64f55f800 5์ผ ์ 964MB
k8s.gcr.io/pause 3.2 80d28bedfe5d 11๊ฐ์ ์ 688KB
[ root@MSI-wsl ~]# buildah ์ปจํ
์ด๋
์ปจํ
์ด๋ ID ๋น๋ ์ด๋ฏธ์ง ID ์ด๋ฏธ์ง ์ด๋ฆ ์ปจํ
์ด๋ ์ด๋ฆ
ec1dc549b831 * 1db64f55f800 docker.io/library/ ๋
ธ๋:์ต์ ๋
ธ๋ ์์
์ปจํ
์ด๋
buildah ์คํ ec1dc549b831 ๋
ธ๋ --version
v15.6.0
Docker๋ฅผ ํผ๋ํ ์ด์ ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๋ ๋ค๋ฅธ ์๋ฒ์ผ ๋ฟ์
๋๋ค.
์ข์ ์์: Debian์ด ์๋ ๋ค๋ฅธ WSL ๋ฐฐํฌํ์์ Podman & Buildah๋ฅผ ์คํํ ์ ์์ต๋๋ค. Arkane-genie์ฉ ๊ต์ฐจ ๋ฐฐํฌํ ์๋ฃจ์
์ systemd์์ Podman์ ์ข
์์ฑ์ ์ถฉ์กฑ์ํค๊ธฐ ์ํด ์กด์ฌํฉ๋๋ค.
์๋
ํ์ธ์. ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์
์ ๊ฐ์ฌํ๊ณ ํนํ ์ด ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์กฐ์ฌํด ์ฃผ์ @menmikimen ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ ์ ๊ทผ ๋ฐฉ์์ด ์ ์๋ํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. $#$ docker.dockerodeOptions
$#$ ๋์ docker.host
== unix:///run/user/<your uid>/podman/podman.sock
๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ์์ฝํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
systemctl --user enable --now podman.socket
docker.host
๋ฅผ unix:///run/user/1000/podman/podman.sock
๋ก ์ค์ ํฉ๋๋ค(์ค์ ๋๋ฉด ์ ์ง๋จ).๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ด ์๋ํ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์ฌ๋ฌ ๋ช
๋ น์ ๊ธฐ๋ณธ์ ์ผ๋ก docker
๋ฅผ ์ฌ์ฉํ์ง๋ง ๋ช
๋ น ์ฌ์ฉ์ํ ๋์ podman
๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๊ทธ ์ธ์๋ ๋๋ถ๋ถ์ ํ์๊ธฐ ๊ธฐ๋ฅ์ด ์ ๋๋ก ์๋ํฉ๋๋ค. Linux์์๋ alias docker = "podman"
๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
Podman์ ํ ์คํธํ ๋ฆฌ์์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ง์์ ์์ฒญํ ์๋ ์์ง๋ง ์๋ํ๋ ๋ฐ ๋ฐฉํด๊ฐ ๋๋ ์์์ ์ฅ์ ๋ฌผ์ ์ ๊ฑฐํ๊ธฐ ์ํด ํฉ๋นํ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ผ ์ฉ์๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์์ ๋จ๊ณ๊ฐ ์ง๊ธ์ ์ถฉ๋ถํ ๋งํผ ๊ฐ๋จํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํน์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ๋๋ ์ ์ ํ๊ฒ Podman์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ญ์์ค.
์์ @ucheNkadiCode ๋ฅผ ์๋ํ๊ณ vscode๋ฅผ ํตํด ์ปจํ ์ด๋ ๋ด์์ ํ์ผ์ ์ด๋ ค๊ณ ์๋ํ์ง๋ง ๋ค์์ ์ป์์ต๋๋ค.
cannot open docker://<snip>/etc/nginx/nginx.conf?fileType%3Dfile%26containerOS%3Dlinux%26path%3D%252Fetc%252Fnginx%252Fnginx.conf.
Detail: Unable to read file 'docker://<snip>/etc/nginx/nginx.conf?fileType=file&containerOS=linux&path=%2Fetc%2Fnginx%2Fnginx.conf' (Error: (HTTP code 501) unexpected - not implemented )
๋๋ ์ด๊ฒ์ด ์์ง ๊ตฌํ๋์ง ์์ ํฌ๋๋งจ ์ธก ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์๋๋ฉด ์๋ํ๋๋ก ๊ธฐ๋ณธ ํ์ผ์ ์ด์ด๋ ์ฌ๋์ด ์์ต๋๊น? ๋ด๊ฐ ์ด๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ๋๋ ์ด๊ฒ์ podman ๋ฌธ์ ๋ก ๋๊ธธ ๊ฒ์ ๋๋ค.
@carwyn ๋ค, ์์ง Podman์์ ๊ตฌํ๋์ง ์์ ๊ฒ ๊ฐ์์. ์ฐ๋ฆฌ๋ https://docs.docker.com/engine/api/v1.41/#operation/ContainerArchive ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์์ง ๊ตฌํ๋์ง ์์ ๊ฒฝ์ฐ์๋ ๋๋ผ์ง ์์ ๊ฒ์ ๋๋ค.
์ง์ํด์ผ ํ ๊ฒ ๊ฐ์๋ฐ์?
https://docs.podman.io/en/latest/_static/api.html#operation/getArchive
์๋์ ์ผ๋ก ์๋ก์ด ์ถ๊ฐ ๊ธฐ๋ฅ์ด๊ณ @carwyn ๋ฒ์ ์๋ ์์ ์๋ ์์ต๋๋ค. ํ์คํ์ง ์๋ค.
์ด๊ฒ๋ค์ ์ด๊ฒ๊ณผ ๊ด๋ จ์ด ์์ด ๋ณด์ ๋๋ค. ์ด "Docker API /containers/{id}/archive"๊ฐ Podman 3์์ ๊ตฌํ๋ ๊ฒ ๊ฐ์ต๋๊น?
https://github.com/containers/podman/issues/6050
https://github.com/containers/podman/pull/8126
@carwyn win ํ์ฌ Fedora33 WSL ์ด๋ฏธ์ง์์ Podman 3.0 RC1์ ํ ์คํธํ๊ณ ์์ต๋๋ค. ํน์ ํญ๋ชฉ์ ํ ์คํธ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๋ฐฐํฌํ์์ ์คํํ ์ ์์ต๋๋ค.
#2984์์ ๋ณ๊ฒฝ๋ ์ฌํญ๋ Podman์ ์ฌ์ฉํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฃ์กํ์ง๋ง ๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ ๋ชฉ์ ์ ์ ํํ ๋์ผํฉ๋๋ค. ์ฆ, ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ๊ฒ์ ๋๋ค.