使用Podman最好的地方就是支持rootless,也就是說用戶不需要為root許可權即可進行容器的管理操作。因此現在在CentOS 8及以後的版本中,預設使用Podman替代Docker,如果使用docker命令,會重定向到podman。 rootless很好,但是也帶來了一些問題: 多餘的提示 運 ...
使用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
容器無法自動啟動
docker
和root
綁定,啟動的時候能夠自動啟動標記為-d的容器,但是podman不行,需要進行額外的操作,詳細看這篇文章。總之就是麻煩,不如docker這麼簡單直接。
總結
由於一直使用root進行登錄,非常容易被攻擊掛馬,改用其他用戶能夠顯著改善這個問題,但是需要謹慎處理podman與docker之間的相容性問題。
除非特殊說明,本作品由podolski創作,採用知識共用署名 4.0 國際許可協議進行許可。歡迎轉載,轉載請保留原文鏈接~喜歡的觀眾老爺們可以點下關註或者推薦~