python docker api如何设置path环境变量?

python docker api如何设置path环境变量?,docker,dockerpy,Docker,Dockerpy,我试图使用python docker api在容器内设置PATH环境变量,但似乎不起作用,容器没有启动 有没有人知道如何设置PATH env变量,其他env变量工作文件 我看到下面的错误 OCI运行时exec失败:exec失败:容器\u linux。go:344:启动容器进程导致“exec:\“bash\”:在$PATH中找不到可执行文件:未知 请共享api详细信息(或)python脚本完整详细信息-此处的最小值包括docker文件(docker build cmd)。有关语法以及是否尝试覆盖d

我试图使用python docker api在容器内设置PATH环境变量,但似乎不起作用,容器没有启动

有没有人知道如何设置PATH env变量,其他env变量工作文件

我看到下面的错误 OCI运行时exec失败:exec失败:容器\u linux。go:344:启动容器进程导致“exec:\“bash\”:在$PATH中找不到可执行文件:未知


请共享api详细信息(或)python脚本完整详细信息-此处的最小值包括docker文件(docker build cmd)。有关语法以及是否尝试覆盖docker image build进程设置的环境变量,请参阅下面的内容

参考:


请共享api详细信息(或)python脚本完整详细信息-此处的最小值包括docker文件(docker build cmd)。有关语法以及是否尝试覆盖docker image build进程设置的环境变量,请参阅下面的内容

参考:


docker映像是否具有
bash
命令。尝试其他通用命令,如
sh
ls
而不是
bash
,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_变量,然后将其“发送”给docker


您必须使用bash输入容器并执行echo$Name_变量。

如果您使用字典设置环境变量,它的工作方式如下:

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_变量,然后将其“发送”给docker


您必须使用bash输入容器并执行echo$Name_变量。

(exitCode,socConn)=self.container.exec_run('bash-e build/otin/BashCheckGCCVersion.sh',socket=True,environment=[“PATH=/usr/lib64/ccache”])(exitCode,socConn)=self container.exec_run('bash-e build/otin/BashCheckGCCVersion.sh',socket True,environment=True,environment=[“PATH=/usr/lib64/ccache”]),听起来好像设置环境变量工作正常,但是正在搜索任何二进制文件的唯一容器路径是
/usr/lib64/ccache
,并且在单个目录中没有
bash
二进制文件。(如果要搜索
/bin
,它也需要在
$PATH
中。)正如@DavidMaze提到的,它可能是不正确的路径/路径不存在,请检查docker日志(或)登录到新创建的容器中,使用基本命令ls-l yourpath验证路径是否存在,并验证是否设置了其他环境变量。听起来设置环境变量工作正常,但搜索任何二进制文件的唯一容器路径是
/usr/lib64/ccache
,并且在这个目录中没有
bash
二进制文件。(如果要搜索
/bin
,它也需要在
$PATH
中。)正如@DavidMaze提到的,它可能是不正确的路径/路径不存在,请检查docker日志(或)登录到新创建的容器中,使用基本命令ls-l yourpath验证路径是否存在,并验证是否设置了其他环境变量。