来自python的Docker
请温柔一点,我是docker工人。
我试图从Python中运行一个docker容器,但由于没有设置环境variables,我遇到了一些麻烦。
例如,我运行
import os os.popen('docker-machine start default').read() os.popen('eval "$(docker-machine env default)"').read()
这将启动机器,但不设置环境variables,所以我不能通过docker运行命令。
理想情况下,如果我不需要运行eval "$(docker-machine env default)"
,那就太好了。 我不确定为什么每次启动机器时都不能将这些设置为静态。
所以我想使用bash命令设置它们,但是Python只是返回一个空string,然后返回一个错误,如果我尝试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?
我build议运行这两个步骤,首先在bash脚本中启动一台机器。 然后你可以有相同的bash脚本调用你的python脚本,并用docker-py
访问docker
import docker import os docker_host = os.environ['DOCKER_HOST'] client = docker.Client(docker_host) client.create(...) ...