如果希望使用 Docker 客户端来管理 Podman,可以通过将 Podman 的 sock 文件映射到 Docker 客户端来实现。
开启 Daemon
由于 Podman 是没有 Daemon 进程的,所以首先需要做的就是创建生成 Podman 的 daemon 后台进程,并且创建 sock 管道文件。
有两种方法可以进行创建,原理相似。
方法①
使用 podman generate systemd 命令生成 Podman 的 systemd 配置文件。例如,可以使用以下命令:
sudo podman generate systemd --name podman
然后,你需要打开生成的配置文件(例如 /etc/systemd/system/podman.service),并在 [Service] 部分添加一行 Environment=PODMAN_SYSTEMD_SOCK=1。
最后,你需要重新加载 systemd 配置并启动 Podman 服务。可以使用以下命令完成这些操作:
sudo systemctl daemon-reload sudo systemctl start podman
方法②
直接运行以下命令文件,这样生成的 sock 文件位于 /run/podman/podman.sock。
systemctl enable --now podman.socket
运行 docker 客户端
通过以上步骤,sock 文件就会生成,并且可以使用 Docker 客户端来管理 Podman 了。
例如,可以使用以下命令查看 Podman 上的容器列表:
docker -H unix:///run/podman/podman.sock ps -a