[英]How to run podman commands on host from within container
在 docker 的情況下,這可以通過在容器內安裝 docker.sock 來實現。
但是由於 podman 中沒有守護進程。 docker.sock 的替代品是什么?
我通常想檢查主機上的 podman 圖像並啟動一個新容器。
我將 Podman 與 --privileged=true 和 root 一起使用。
2020 年 1 月的一篇博客文章中宣布了一個新的 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 套接字。
根據手冊頁,命令podman system service
也接受標志--varlink
。
使用 Varlink 而不是新的 API 現在可能是更好的解決方案,因為它更成熟,但將來會被棄用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.