我试图在RedHatEnterpriseLinux8 (CentoOS 8)虚拟机中安装一个构建服务器。
我通过运行sudo dnf install -y @container-tools安装了podman
然后我运行sudo podman pull mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim从docker中提取容器映像:
试图提取mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim...Getting图像源签名的
复制blob e936bd534ffb已完成
复制blob caf64655bcbb已完成
复制blob 4156e490f05f已完成
复制blob 68ced04f60ab已完成
复制blob 7064c3d93b4a已完成
复制配置e2cd20adb1完成
将清单写入图像目的地
存储签名
e2cd20adb1292ef24ca70de7abaddaadd57a5c932d3852b972e43b6f05a03dea
在我看来这很成功。如果我再次运行它,我会被告知这些层“已经存在”。但我跑了:
podman image ls我得到了一个空名单:
存储库标记图像ID创建的大小
我还尝试了以下命令来获得列表:
podman image ls -a podman image list podman image list -a podman images podman images ls podman images ls -apodman images listpodman images list -a他们都给出了一个空名单。
我怎么能看到我拉下来的容器图像?
更新:我运行了sudo podman run --rm --name=linuxconfig-test -p 80:80 httpd并(在另一台机器上)浏览了我的linux机器的ip地址,并显示了It Works!。所以podman至少部分地在工作。
发布于 2020-03-02 17:23:24
结果发现,您必须使用sudo运行。我跑了:
sudo podman image ls它还返回了容器图像列表。
发布于 2020-04-19 07:57:22
与Docker不同,Podman将图像存储在用户的主目录中。默认路径是~/.local/share/containers/storage,可以通过运行podman info来验证它。因为您以根用户的身份执行podman pull,所以所提取的图像将存储在根用户的主目录中。这就是为什么在没有podman image ls的情况下运行sudo时没有列出图像的原因。
podman背后的主要思想是,它可以完全在用户模式下运行,而无需连接到特权守护进程。理想情况下,所有podman命令都应该在没有sudo的情况下运行。
发布于 2022-03-28 09:59:42
您可以使用--root选项给出存储图像的路径。这是如果您需要运行作为根。
尽管使用podman的一个重要部分是您不需要以root或sudo用户的身份运行。
注意-当您运行此操作时,podman将更改覆盖位置中某些文件夹和文件的所有者,稍后在没有sudo的情况下运行时,您需要返回chown。所以不推荐
sudo podman images --root /home/xxx/.local/share/containers/storagehttps://stackoverflow.com/questions/60460705
复制相似问题