r - 错误 : (gcloud. app.deploy)使用自定义运行时时必须提供自己的 Dockerfile

标签 r docker google-app-engine google-cloud-platform yaml

我正在尝试使用 App Engine 在 Google Cloud 上安排 R 作业。我正在关注文章

https://code.markedmondson.me/4-ways-schedule-r-scripts-on-google-cloud-platform/

但是,当我尝试使用 gcloud app deploy --project shiny-demo 部署应用程序时,出现以下错误

Enabling service [appengineflex.googleapis.com] on project [shiny-demo]...
Waiting for async operation operations/acf.33c5e6da-6f9e-4e66-b7d3-f0611eddc0ce to complete...
Operation finished successfully. The following command can describe the Operation details:
 gcloud services operations describe operations/tmo-acf.33c5e6da-6f9e-4e66-b7d3-f0611eddc0ce
Beginning deployment of service [default]...
ERROR: (gcloud.app.deploy) You must provide your own Dockerfile when using a custom runtime. Otherwise provide a "runtime" field with one of the supported runtimes.

我的 yaml 文件所在的文件夹中确实有一个 Dockerfile,但不知何故它无法识别 Dockerfile。下面是我的 yaml 文件:

# app.yaml file
runtime: custom
env: flex

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

env_variables:
  GCS_AUTH_FILE: authkey.json

我的 Dockerfile:

# DOCKER
FROM trestletech/plumber
LABEL maintainer="mark"
RUN export DEBIAN_FRONTEND=noninteractive; apt-get -y update \
 && apt-get install -y libcairo2-dev \
    libcurl4-openssl-dev \
    libgmp-dev \
    libpng-dev \
    libssl-dev \
    libxml2-dev \
    make \
    pandoc \
    pandoc-citeproc \
    zlib1g-dev
RUN ["install2.r", "-r 'https://cloud.r-project.org'", "readr", "googleCloudStorageR", "bigrquery", "Rcpp", "digest", "crayon", "withr", "mime", "R6", "jsonlite", "xtable", "magrittr", "httr", "curl", "testthat", "devtools", "hms", "shiny", "httpuv", "memoise", "htmltools", "openssl", "tibble", "remotes"]
RUN ["installGithub.r", "MarkEdmondson1234/googleAuthR@7917351", "hadley/rlang@ff87439"]
WORKDIR /payload/
COPY [".", "./"]

EXPOSE 8080
ENTRYPOINT ["R", "-e", "pr <- plumber::plumb(commandArgs()[4]); pr$run(host='0.0.0.0', port=8080)"]
CMD ["myscript.R"]

我对 Docker 有点陌生。

为文件夹结构添加图片:

enter image description here

最佳答案

您的 Dockerfile 名称是否为 Dockerfile(首字母大写)?

Windows 有时会在内部将文件保存为 .txt

A Dockerfile must be created with no extension. To do this in Windows, create the file with your editor of choice, then save it with the notation "Dockerfile" (including the quotes).

你的 Dockefile 在 right path 中吗?与 app.yaml 处于同一级别?

关于r - 错误 : (gcloud. app.deploy)使用自定义运行时时必须提供自己的 Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60253676/

相关文章:

r - 多方体中没有空间的盒子

r - 将行分成 10 组,每组具有相同的值

docker - 在docker镜像上运行的'flutter test'导致testfile.dill.track.dill更改,然后在CI环境上导致测试失败

ruby-on-rails - docker + rails + redis - 救援人员没有运行

java - 在 Android 应用程序中使用 Google BlobStore

R dplyr 过滤器与轻度复杂的过滤器无法正常工作

r - 如何编写正则表达式来排序我想按数字顺序列出的路径

c# - 在 docker run 上找不到 appsettings.json 文件问题

java.lang.IllegalStateException : This feature is only available to backend instances 错误

python - 我是否必须自己刷新 oauth2 access_token,或者