将环境变量设置为 docker 在 python 中创建的容器
Set environment var to docker container created in python
我正在开发一个应用程序,它使用 docker 图像创建一个容器并 运行s 它。
我使用以下代码片段创建客户端:
client = docker.DockerClient(base_url='unix://var/run/docker.sock', version='1.41', timeout=10)
没关系。
我实例化并 运行 图像正确使用此:
client.containers.run(image=deployment_json['container_image'], command="sbt run", environment=cfg)
环境参数不会导致错误,容器 运行 没问题,但图像不会检索环境变量(NullPointer,它是 Scala 应用程序)
cfg 是这样创建的: cfg = ['var_name', str(env)]
其中 env 是一个 json 对象。
使用 docker 库版本 5.0.0.
我错过了什么?如何为 docker 图像提供环境变量?
从 docker cli 角度来看,当 运行 docker run
时,您有 --env , -e
标志来设置环境变量
从文档我认为这可以使用 environment
var:
来实现
exec_run(cmd, stdout=True, stderr=True, stdin=False, tty=False, privileged=False, user='', detach=False, stream=False, socket=False, environment=None, workdir=None, demux=False)
你应该将 environment
变量
作为参数传递给哪里
environment (dict or list)
– 要在容器内设置的环境变量,作为格式为 ["SOMEVARIABLE=xxx"]
.
的字典或字符串列表
我正在开发一个应用程序,它使用 docker 图像创建一个容器并 运行s 它。
我使用以下代码片段创建客户端:
client = docker.DockerClient(base_url='unix://var/run/docker.sock', version='1.41', timeout=10)
没关系。
我实例化并 运行 图像正确使用此:
client.containers.run(image=deployment_json['container_image'], command="sbt run", environment=cfg)
环境参数不会导致错误,容器 运行 没问题,但图像不会检索环境变量(NullPointer,它是 Scala 应用程序)
cfg 是这样创建的: cfg = ['var_name', str(env)]
其中 env 是一个 json 对象。
使用 docker 库版本 5.0.0.
我错过了什么?如何为 docker 图像提供环境变量?
从 docker cli 角度来看,当 运行 docker run
--env , -e
标志来设置环境变量
从文档我认为这可以使用 environment
var:
exec_run(cmd, stdout=True, stderr=True, stdin=False, tty=False, privileged=False, user='', detach=False, stream=False, socket=False, environment=None, workdir=None, demux=False)
你应该将 environment
变量
environment (dict or list)
– 要在容器内设置的环境变量,作为格式为 ["SOMEVARIABLE=xxx"]
.