对于docker,可以通过将docker.sock安装在容器中来实现。
但是由于podman中没有守护程序。 docker.sock的替代品是什么?
我通常要检查主机上显示的podman图像并启动一个新容器。
我正在将Podman与--privileged = true和root一起使用。
答案 0 :(得分:0)
2020年1月在blog post中宣布了新的API(状态:实验)。
[root@fedora31 ~]# podman --version
podman version 1.8.0
[root@fedora31 ~]# podman system service --timeout 500000 unix://root/foobar.sock
This function is EXPERIMENTAL.
由于API仍处于试验阶段,因此可能会发生变化,但是现在您可以进行如下查询:
[root@fedora31 ~]# curl -s --unix-socket /root/foobar.sock http://d/v1.24/images/json | python3 -m json.tool
[
{
"Containers": 0,
"Created": 1572319417,
"Id": "f0858ad3febdf45bb2e5501cb459affffacef081f79eaa436085c3b6d9bd46ca",
"Labels": {
"maintainer": "Clement Verna <cverna@fedoraproject.org>"
},
"ParentId": "",
"RepoDigests": [
"sha256:8fa60b88e2a7eac8460b9c0104b877f1aa0cea7fbc03c701b7e545dacccfb433"
],
"RepoTags": [
"docker.io/library/fedora:latest"
],
"SharedSize": 0,
"Size": 201095865,
"VirtualSize": 201095865,
"CreatedTime": "0001-01-01T00:00:00Z"
},
null
]
[root@fedora31 ~]#
添加了命令python3 -m json.tool
以漂亮地打印JSON输出。
我认为可以使用绑定安装技术(在问题中提到)从容器内部访问UNIX套接字。
根据man page,命令podman system service
也接受标志--varlink
。
使用Varlink代替新的API可能会是一个更好的解决方案,因为它已经更成熟了,但将来会不推荐使用。