[英]How do I set an environment variable using docker service create?
[英]python docker api how do we set the path environment variable?
我试图使用python docker api在容器内设置PATH环境变量,但似乎没有工作,容器没有启动
有没有人知道如何设置PATH env变量,其他env变量工作文件。
我看到以下错误OCI运行时exec失败:exec失败:container_linux.go:344:启动容器进程导致“exec:\\”bash \\“:$ PATH中找不到可执行文件”:未知
(exitCode, socConn) = self.container.exec_run('bash -e build/otin/BashCheckGCCVersion.sh',socket=True,environment=["PATH=/usr/lib64/ccache"])
or
environment=[
"CCACHE_DIR=/work/.ccache",
"PATH=/usr/lib64/ccache",
"BUILDS_ALL_TIME=" + sys.argv[2],
"PATCH_10.2=" + sys.argv[1]],
working_dir="/OTINBuild",
请分享api详细信息(或)python脚本的完整详细信息 - 这里它的最小值包括你的docker文件(docker build cmd)。请参阅下面的语法,以及你是否试图覆盖docker镜像构建过程设置的环境变量?
参考: https : //docker-py.readthedocs.io/en/stable/api.html
exec_create(container, cmd, stdout=True, stderr=True, stdin=False, tty=False, privileged=False, user='', environment=None, workdir=None, detach_keys=None)
environment (dict or list) – A dictionary or a list of strings in the following format ["PASSWORD=xxx"] or {"PASSWORD": "xxx"}.
docker镜像是否具有bash
命令。 尝试其他通用命令,如sh
, ls
而不是bash
。
如果您使用字典设置环境变量,它将如下工作:
environment = {"Name_Variable":"Name_Path","Name_Variable2":"Name_Path2"...}
(exitCode, socConn) = self.container.exec_run('bash -e build/otin/BashCheckGCCVersion.sh',socket=True,environment=environment)
如果您尝试查看它是否可以使用以下命令:
docker exec -it "Name_Container" echo $Name_Variable
它不会告诉你价值。
终端正在执行$ Name_Variable,然后将其“发送”到docker。
您必须使用bash输入容器并执行echo $ Name_Variable。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.