centos Podman图像未与Podman图像一起显示

vdzxcuhz  于 2022-11-07  发布在  其他
关注(0)|答案(3)|浏览(182)

我正在尝试在Red Hat Enterprise Linux 8(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已完成
复制斑点68ced04f60ab完成
复制blob 7064c3d93b4a已完成
已完成复制配置e2cd20adb1
正在将清单写入映像目标
存储签名
2004年12月26日,星期一
在我看来,这是成功的。如果我再次运行它,我会被告知这些层“已经存在”。但随后我运行:

podman image ls

我得到一个空列表:
存储库标记映像ID创建大小
我还尝试了以下命令来获取列表:

  • podman image ls -a
  • podman image list
  • podman image list -a
  • podman images
  • podman images ls
  • podman images ls -a
  • podman images list
  • podman images list -a

他们都给予了一个空的名单。

如何查看下拉的容器图像?

更新:我运行了sudo podman run --rm --name=linuxconfig-test -p 80:80 httpd,(在另一台机器上)浏览了我的linux机器的ip地址,得到了It Works!的显示。所以podman至少在部分上是工作的。

5cg8jx4n

5cg8jx4n1#

与Docker不同的是,Podman将图像存储在用户的主目录中。默认路径是~/.local/share/containers/storage,可以通过运行podman info来验证。由于您以root用户身份执行podman pull,因此提取的图像将存储在root用户的主目录中。这就是为什么当您运行podman image ls而不运行sudo时,没有图像列出的原因。
podman的主要思想是它可以完全在用户模式下运行,而不需要连接到特权守护进程。理想情况下,所有的podman命令都应该在没有sudo的情况下运行。

k0pti3hp

k0pti3hp2#

结果你必须使用sudo来运行。我运行了:

sudo podman image ls

并返回容器图像列表。

hl0ma9xz

hl0ma9xz3#

你可以使用--root选项来给予存储图像的路径,也就是说你需要以root用户身份运行。
尽管使用podman的一个重要部分是,您不需要以root或sudo用户身份运行。
注意--当你运行这个命令的时候,podman会改变覆盖位置中某些文件夹和文件的所有者,以后当你不使用sudo运行的时候,你需要返回chown。所以不推荐

sudo podman images --root  /home/xxx/.local/share/containers/storage

相关问题