我正在尝试在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至少在部分上是工作的。
3条答案
按热度按时间5cg8jx4n1#
与Docker不同的是,Podman将图像存储在用户的主目录中。默认路径是
~/.local/share/containers/storage
,可以通过运行podman info
来验证。由于您以root用户身份执行podman pull
,因此提取的图像将存储在root用户的主目录中。这就是为什么当您运行podman image ls
而不运行sudo
时,没有图像列出的原因。podman的主要思想是它可以完全在用户模式下运行,而不需要连接到特权守护进程。理想情况下,所有的podman命令都应该在没有
sudo
的情况下运行。k0pti3hp2#
结果你必须使用
sudo
来运行。我运行了:并返回容器图像列表。
hl0ma9xz3#
你可以使用
--root
选项来给予存储图像的路径,也就是说你需要以root用户身份运行。尽管使用podman的一个重要部分是,您不需要以root或sudo用户身份运行。
注意--当你运行这个命令的时候,podman会改变覆盖位置中某些文件夹和文件的所有者,以后当你不使用
sudo
运行的时候,你需要返回chown
。所以不推荐