Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Google云上的Docker容器内设置环境变量_Docker_Google Cloud Platform - Fatal编程技术网

在Google云上的Docker容器内设置环境变量

在Google云上的Docker容器内设置环境变量,docker,google-cloud-platform,Docker,Google Cloud Platform,我有一个新的谷歌云项目,我在其中设置了一个Docker容器来运行应用程序。当我第一次设置它时,我遇到了一些问题,并且在针对这个问题设置了一个环境变量export-CLOUDSDK\u-PYTHON=python2后,我能够让应用程序运行: 但是Shell控制台重新启动或超时,所以当我再次启动Shell控制台时,我得到了相同的错误。我不得不再次设置环境变量来运行应用程序,所以我想知道如何自动执行或终身设置。当我运行export CLOUDSDK_PYTHON=python2时,这是否只是为Shel

我有一个新的谷歌云项目,我在其中设置了一个Docker容器来运行应用程序。当我第一次设置它时,我遇到了一些问题,并且在针对这个问题设置了一个环境变量
export-CLOUDSDK\u-PYTHON=python2
后,我能够让应用程序运行:


但是Shell控制台重新启动或超时,所以当我再次启动Shell控制台时,我得到了相同的错误。我不得不再次设置环境变量来运行应用程序,所以我想知道如何自动执行或终身设置。当我运行export CLOUDSDK_PYTHON=python2时,这是否只是为Shell控制台的生命周期创建环境变量?还是只针对docker容器?我是docker容器的新手,因此我不确定还需要在其上设置什么。

如果您使用docker文件来构建图像,可以在docker文件中使用ENV关键字来设置环境变量

该命令的用法如下:

ENV CLOUDSDK\u PYTHON=python2

在构建期间以及在容器上运行时,可以在映像中使用ENV变量。由于DockerFile在创建映像时描述了一组指令,因此在容器中运行映像时,您将始终设置此环境变量(因此Docker的妙处在于打包所有您需要的内容,以确保每次都能完美运行)

您还可以在“docker run”命令期间添加环境变量,如下所示(如果您正在运行外部映像):

$docker run-e“CLOUDSDK_PYTHON=python2”alpine


(在以下源代码中找到的信息-

无论我在dockerfile中的何处输入命令
ENV CLOUDSDK\u PYTHON=python2
,仍然会收到相同的错误。如何将其作为参数添加到docker compose命令中?我通常运行以下命令来构建我的应用程序:
docker compose build
你能分享你的dockerfile+docker compose文件吗?将有助于在当地重现该问题