[Podman] ์†Œ๊ฐœ

podman์€ Redhat์—์„œ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌ์ค‘์— ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ์Šคํƒ์ด๋‹ค. 2018๋…„ ์ฆˆ์Œ๋ถ€ํ„ฐ ์‹œ์ž‘๋๋‹ค.

docker์˜ ๊ฒฝ์Ÿ์ž๋‹ค.




vs Docker

podman์€ runc ๊ธฐ๋ฐ˜์œผ๋กœ ์ž์ฒด์ ์ธ ์ปจํ…Œ์ด๋„ˆ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•œ๋‹ค. Docker์˜ ์—ญํ• ์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์†Œ๋ฆฌ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์— ์žˆ์–ด์„œ๋„ ์ฐจ์ด๊ฐ€ ๋งŽ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด docker ์‹œ์Šคํ…œ์€ daemon์„ ํ†ตํ•ด ๋ฃจํŠธ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰๋˜๋Š”๋ฐ, ์ด๋Ÿฐ๊ฑด ์‚ฌ์‹ค ๋ณด์•ˆ์ ์œผ๋กœ ์ทจ์•ฝ์ ์ด ๋  ์†Œ์ง€๊ฐ€ ๋งŽ๋‹ค. podman์˜ ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์šฉ์ž ๋‹จ์œ„๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„์šฐ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์  ์ธก๋ฉด์—์„œ์˜ ์ด์ ์ด ์žˆ๋‹ค.

Docker๋ณด๋‹ค ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๋‹ค๊ณ  ํ•˜๋Š”๋ฐ... ๋ช…ํ™•ํ•˜๊ฒŒ ๊ฒ€์ฆ๋œ๊ฑด ์—†๋‹ค. ๋งˆ์ผ€ํŒ…์ด๋‹ค.

์˜๋„์ ์œผ๋กœ ์‚ฌ์šฉ ๋ฐฉ์‹ ์ž์ฒด๋Š” Docker์™€ ๊ฑฐ์˜ ๋™์ผํ•˜๊ฒŒ ๋งž์ถฐ๋†จ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ Docker CLI ๋ช…๋ น ํ˜•์‹์€ podman CLI์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Docker์™€์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ "Pod" ๋‹จ์œ„๋ฅผ ์ง€์›ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. k8s์—์„œ ์‚ฌ์šฉํ•˜๋Š” pod์™€ ๋™์ผํ•œ ๊ฐœ๋…์ด๋‹ค.
pod๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.

podman์€ ์†”์งํžˆ ์ฃผ๋ณ€ ํ™˜๊ฒฝ์ด๋‚˜ ์ž๋ฃŒ ์ˆ˜์ค€์— ์žˆ์–ด์„œ Docker์˜ ๋ฐœ๋์—๋„ ๋ฏธ์น˜์ง€ ๋ชปํ•œ๋‹ค.

์•„ ๊ทธ๋ฆฌ๊ณ , k8s๊ฐ€ Docker๋Š” ์•„๋‹ˆ์ง€๋งŒ Docker image ๊ทœ๊ฒฉ์„ ์‚ฌ์šฉํ•˜๋“ฏ์ด, podman๋„ ๊ทธ๋ ‡๋‹ค.




with k8s

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์™€ ์‚ฌ์šฉ์‚ฌ๋ก€๊ฐ€ ์ƒ์ถฉ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๋ณด์™„์ ์ธ ๊ด€๊ณ„์— ์žˆ๋‹ค.

์–ด์ฐจํ”ผ ๊ณ -๊ธ‰ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ ˆ๋ฒจ๋กœ ๊ฐ€๋ฉด Docker๋‚˜ Podman์„ ์„œ๋น„์Šค ์ˆ˜์ค€์—์„œ ๊ทธ๋ƒฅ ์“ฐ์ง€๋Š” ์•Š์„ ๊ฒƒ์ด๊ณ , ๊ฒฐ๊ตญ์—๋Š” k8s ์Šคํƒ์œผ๋กœ ๊ฐˆ ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฌ๋ฉด docker๋‚˜ podman์ด๋‚˜ ๊ทธ๋ƒฅ ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ ์„œ๋ฒ„ ๋„์šฐ๋Š” ์ •๋„๋กœ๋งŒ ์‘์šฉ์ด ๋  ๊ฒƒ์ด๋‹ค. ํŽธํ•œ๊ฑธ๋กœ ๊ณ ๋ฅด๋ฉด ๋œ๋‹ค.

๋‹ค๋งŒ podman์€ pod๋ฅผ k8s yaml๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜, k8s yaml์„ importํ•˜๋Š” ์ƒํ˜ธํ˜ธํ™˜ ๊ธฐ๋Šฅ์ด ์ข€ ์žˆ์–ด์„œ ๋” ํŽธํ•  ์ˆ˜ ์žˆ๋‹ค.




์„ค์น˜

๋ฐ๋น„์•ˆ ๊ณ„์—ด์˜ ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋ƒฅ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด์„œ ๋ฐ”๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

sudo apt-get -y install podman

๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ์˜ ์„ค์น˜ ๋ฐฉ๋ฒ•๋“ค๋„ ๋ฌธ์„œ์— ์ž˜ ์ •๋ฆฌ๋˜์–ด์žˆ๋‹ค.
https://podman.io/docs/installation

์•„๋ฌดํŠผ ์„ค์น˜๋งŒ ๋งˆ์น˜๋ฉด podman ๋ฐ๋ชฌ์ด ์ž๋™์œผ๋กœ ๋– ์žˆ์„ ๊ฒƒ์ด๋‹ค.

cli๋ฅผ ํ†ตํ•ด์„œ ๋ฐ”๋กœ ์ œ์–ดํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.




๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ๊ธด ํ•˜์ง€๋งŒ, ๋Œ€๋žต์ ์ธ ์‚ฌ์šฉ ๋ฐฉ์‹์€ Docker์™€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค.

์ต์ˆ™ํ•œ ๋ช…๋ น์–ด์…‹์ผ ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›์•„์˜ค๋ ค๋ฉด pull ๋ช…๋ น์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

์ž˜ ๋ฐ›์•„์ง„ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์ฐจ์ด์ ์ด๋ผ๋ฉด, docker์—์„œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ ์ง€ ์•Š์•„๋„ docker ๊ธฐ๋ณธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋˜ ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ, ์ง์ ‘ ๋‹ค ๋ช…์‹œํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ ์ •๋„๊ฐ€ ์žˆ๊ฒ ๋‹ค.

์‹คํ–‰๋ฒ•์—๋„ ๋ณ„ ์ฐจ์ด๋Š” ์—†๋‹ค.
์•„๋ž˜ ๋ช…๋ น์€ httpd(apache) ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ 8080ํฌํŠธ๋กœ ๋„์šฐ๋Š” ๊ฐ„๋‹จํ•œ ๋ช…๋ น์ด๋‹ค.

sudo podman run -dt -p 8080:80/tcp docker.io/library/httpd

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋กœ๋“œ๋  ๊ฒƒ์ด๊ณ 


์ž˜ ๋™์ž‘ํ•  ๊ฒƒ์ด๋‹ค.



์ฐธ์กฐ
https://podman.io/
https://www.redhat.com/ko/topics/containers/what-is-podman
https://axgo.tistory.com/entry/MacOS%EC%97%90-Podman-Desktop%EC%9C%BC%EB%A1%9C-Docker-Desktop%EC%9D%84-%EB%8C%80%EC%B2%B4-%ED%95%B4%EB%B3%B4%EC%9E%90
https://www.imaginarycloud.com/blog/podman-vs-docker/