App Engine Flex 自定义 - Dockerfile 构建过程中缺少项目文件
App Engine Flex custom - missing project files in Dockerfile build process
我正在尝试使用 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
documentation:
If there is a file called .gcloudignore
in the top-level directory to upload, the files that it specifies will be ignored.
也许在部署期间 files/directories 被错误地添加到 .gcloudignore
文件中,因此通过从 .gcloudignore
文件中删除您希望部署的文件,您将能够这样做。
我正在尝试使用 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
documentation:
If there is a file called
.gcloudignore
in the top-level directory to upload, the files that it specifies will be ignored.
也许在部署期间 files/directories 被错误地添加到 .gcloudignore
文件中,因此通过从 .gcloudignore
文件中删除您希望部署的文件,您将能够这样做。