[轉帖]Podman與docker相容性問題

济南小老虎發表於2024-04-03
https://www.cnblogs.com/podolski/p/16804069.html

使用Podman最好的地方就是支援rootless,也就是說使用者不需要為root許可權即可進行容器的管理操作。因此現在在CentOS 8及以後的版本中,預設使用Podman替代Docker,如果使用docker命令,會重定向到podman。

rootless很好,但是也帶來了一些問題:

多餘的提示

執行命令的時候,只要輸入了docker,那麼就會彈出提示:

docker Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg. 

如果就是單純的提示,那麼問題不大。不過很多第三方的指令碼執行的時候,沒有考慮到podman的相容性,出現了多餘的提示會認為docker執行命令失敗,我們需要去除它。方法也比較簡單,按照提示,執行:

sudo echo >> /etc/containers/nodocker

出現一個空檔案即可,後面執行檔案就不出現提示了。

提示無法對映1024以下的特權埠

非root使用者使用docker時,對外使用80埠系統提示非root使用者無法使用1024以下的埠,需要新增設定:

#當前設定 
sysctl net.ipv4.ip_unprivileged_port_start=80 
#永久設定 
echo "net.ipv4.ip_unprivileged_port_start=80" >> /etc/sysctl.conf

重啟之後Podman容器無法自動啟動

dockerroot繫結,啟動的時候能夠自動啟動標記為-d的容器,但是podman不行,需要進行額外的操作,詳細看這篇文章。總之就是麻煩,不如docker這麼簡單直接。

總結

由於一直使用root進行登入,非常容易被攻擊掛馬,改用其他使用者能夠顯著改善這個問題,但是需要謹慎處理podman與docker之間的相容性問題。

本文作者:波多爾斯基

本文連結:https://www.cnblogs.com/podolski/p/16804069.html

版權宣告:本作品採用署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。

相關文章