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
容器無法自動啟動
docker
和root
繫結,啟動的時候能夠自動啟動標記為-d的容器,但是podman不行,需要進行額外的操作,詳細看這篇文章。總之就是麻煩,不如docker這麼簡單直接。
總結
由於一直使用root進行登入,非常容易被攻擊掛馬,改用其他使用者能夠顯著改善這個問題,但是需要謹慎處理podman與docker之間的相容性問題。
本文作者:波多爾斯基
本文連結:https://www.cnblogs.com/podolski/p/16804069.html
版權宣告:本作品採用署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。