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