Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Docker 如何通过端口';s Google Cloud环境变量用于播放框架服务器_Docker_Google Cloud Platform_Playframework_Dockerfile - Fatal编程技术网

Docker 如何通过端口';s Google Cloud环境变量用于播放框架服务器

Docker 如何通过端口';s Google Cloud环境变量用于播放框架服务器,docker,google-cloud-platform,playframework,dockerfile,Docker,Google Cloud Platform,Playframework,Dockerfile,我已经开始使用谷歌云平台,这样我就可以部署我的Scala Play框架项目了。我正在使用docker创建一个docker图像,我正在推送到谷歌云平台,并使用cloudrun运行它。docker映像已在我的本地计算机上成功运行,但当我尝试在google上部署它时,出现以下错误: 云运行错误:容器无法启动。启动失败,然后重试 侦听端口环境变量定义的端口。日志 此修订版可能包含更多信息 我已经阅读了play2.7的文档,我得到了这个Dockerfile: FROM aa8y/sbt:0.13.15

我已经开始使用
谷歌云平台
,这样我就可以部署我的
Scala Play框架
项目了。我正在使用
docker
创建一个
docker图像
,我正在推送到谷歌云平台,并使用
cloudrun
运行它。docker映像已在我的本地计算机上成功运行,但当我尝试在google上部署它时,出现以下错误:

云运行错误:容器无法启动。启动失败,然后重试 侦听端口环境变量定义的端口。日志 此修订版可能包含更多信息

我已经阅读了
play2.7的
文档,我得到了这个Dockerfile:

FROM aa8y/sbt:0.13.15

COPY ./target/universal/scalatry-1.0.zip .

RUN unzip scalatry-1.0.zip

COPY ./main_route .

CMD scalatry-1.0/bin/scalatry -Dhttp.port=${PORT}
因此,基本上,我正在尝试运行压缩的项目文件(我使用
scala dist
创建了该文件),并通过传递
${PORT}
变量在
/bin/scalatry
上运行可执行文件,该变量将在项目在google上运行后传递。这似乎不起作用

我做的另一个尝试是转到我的
application.conf
文件并添加:
play.server.http.port=${port}
但是它也没有任何影响,这个错误不断出现


你有工作吗?提前谢谢你

您可以使用以下命令在Cloud Run中传递环境变量:

gcloud run deploy [SERVICE] --image gcr.io/[PROJECT-ID]/[IMAGE] --update-env-vars KEY1=VALUE1,KEY2=VALUE2
所以你会像这样运行

gcloud run deploy [YOUR-SERVICE-NAME] --image gcr.io/[PROJECT-ID]/[DOCKER-IMAGE] --update-env-vars PORT=PORTNUMBER
您可以在此处阅读有关如何在CLoud Run中使用环境变量的更多信息:

希望这有帮助