google-app-engine - App Engine Flex 自定义 - Dockerfile 构建过程中缺少项目文件
问题描述
我正在尝试使用 App Engine Flex 部署 Java 应用程序,但不幸的是 - 在构建 Docker 映像时部署进入阶段时,它似乎是在某个隔离环境中运行的,而不是在我的本地目录中,所有必需的文件都用于构建过程。
我的app.yaml
文件如下所示:
service: default
env: flex
runtime: custom
handlers:
- url: .*
script: auto
manual_scaling:
instances: 1
network: {}
我的Dockerfile
:
FROM openjdk:11-jre-slim
ADD . /app
WORKDIR /app
RUN ls -halt
CMD ["java", "-jar", "app.jar"]
我正在运行命令:
gcloud auth activate-service-account --key-file mykeyfile.json
gcloud --quiet --project myprojectname app deploy app.yaml
mykeyfile.json
持有具有所有者角色的服务帐户的凭据。
命令RUN ls -halt
显示,该目录为空 - 没有从我的机器复制任何文件。
如何提供在 Docker 映像构建期间使用的所需文件?
解决方案
确保部署中缺少的文件未在您的.gcloudignore
文件中列出。
根据.gcloudignore
文档:
如果
.gcloudignore
在顶层目录中调用了一个文件要上传,它指定的文件将被忽略。
也许在部署期间文件/目录被错误地添加到.gcloudignore
文件中,因此通过从文件中删除您希望部署的.gcloudignore
文件,您将能够这样做。
推荐阅读
- mysql - 相同的数据库结构和索引,但查询速度和解释结果不同
- awk - AWK 用前一行的列值替换空列
- parsing - 如何将动态图中的数据点提取到文本文件?(数据包装器/html/json)
- android - 关于 Android Studio 中应用标题和按钮背景颜色的问题
- c++ - 如何将 Google Mock 添加到已经有 Google Test 的项目中?
- python - 如何将 xticks 更改为仅几个月?
- hive - 如何进行 Hive SQL IF/ELSE 查询?
- javascript - 如何编写扩展 Array 类的正确构造函数
- html - 将 NSAttributedString 转换为 html 时检测到不正确的 NSStringEncoding 值 0x8000100
- javascript - Javascript 中的 PHP 功能 ($_[value])