我想用 Python 编写 Docker 容器管理脚本。但是,由于我使用 CoreOS,Python 不作为标准命令包含在内。所以,我正在考虑使用 Python Docker 容器 ( https://registry.hub.docker.com/_/python/ ) 来执行我的脚本。但是,在这种情况下,脚本将在容器的 VM 中执行,该 VM 无法访问主机的 Docker CLI。
有没有办法使用 Python(或其他未打包在 CoreOS 中的编程语言)来管理主机环境,而无需在主机上安装它?
PS,脚本会做类似的事情:
docker run/rm/stop <another container>;
最佳答案
您可以将 docker 二进制文件和套接字挂载到容器中:
$ docker run -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock debian docker --version
Docker version 1.7.0, build 0baf609
或者设置 docker 以允许远程访问(我目前找不到很好的引用资料)。
您还应该看看使用 Docker API而不是进行命令行调用。有一个python library可以为您提供帮助。
关于python - 如何从容器中执行主机的 Docker 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31625679/