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中使用环境变量的更多信息:
希望这有帮助