gpt4 book ai didi

python - 来自 python 的 Docker

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:08 25 4
gpt4 key购买 nike

请温柔点,我是 Docker 新手。

我正在尝试从 Python 中运行 docker 容器,但由于未设置环境变量而遇到了一些麻烦。

例如我运行

import os
os.popen('docker-machine start default').read()
os.popen('eval "$(docker-machine env default)"').read()

它将启动机器,但不会设置环境变量,因此我无法传递 docker run 命令。

理想情况下,如果我不需要运行eval“$(docker-machine env default)”,那就太好了。我不太确定为什么我不能在每次启动机器时将它们设置为静态。

所以我尝试使用 bash 命令设置它们,但 Python 仅返回一个空字符串,然后如果我尝试执行 docker run my_container 则返回错误。

错误:

Post http:///var/run/docker.sock/v1.20/containers/create: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?

最佳答案

我建议首先运行这两个步骤在 bash 脚本中启动机器。然后你可以让相同的 bash 脚本调用你的 python 脚本并使用 docker-py 访问 docker

import docker
import os

docker_host = os.environ['DOCKER_HOST']
client = docker.Client(docker_host)
client.create(...)
...

关于python - 来自 python 的 Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32914107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com