python - 如何从容器中执行主机的 Docker 命令?

标签 python docker coreos

我想用 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/

相关文章:

python - 是否有一个很好的正则表达式来对收到的 SIP 邀请进行多行匹配?

python - pcolormesh 内存使用

amazon-web-services - 无法通过Web浏览器使用Kubectl代理访问kubernetes仪表板

docker - 来自CMD指令中目录访问的docker容器卷

python - 按索引从下拉列表中选择第一项不起作用。未绑定(bind)方法 select_by_index

python - x[x < 2] = 0 在 Python 中是什么意思?

angular - 在运行时读取 Angular 中的服务器环境变量

git - 如何在 Dockerfile 中的特定提交处 checkout ?

eclipse - 如何使用Eclipse连接到Windows上的本地Docker?

docker - Kubernetes 工作流程