如何在AWS Amplify中使用自定义构建映像?

时间:2019-08-19 20:01:33

标签: docker dockerfile aws-amplify

背景:我正在尝试运行react-snap,它使用Puppeteer和无头铬从javascript生成HTML(在这种情况下为React)。实际上,我最终能够使它在默认的Amazon Linux构建映像中运行,但是我对如何使用自定义映像感到非常好奇。

当我尝试通过指向Docker Hub存储库使用自定义映像时,AWS Amplify构建过程失败,没有日志输出。我能够在本地使用该映像而不会出现问题,因此我怀疑我只是不了解为Amplify运行该程序所需要的内容。

According to the documentation,支持从Docker Hub进行拉取,并且需要具有curl,git,openssh和node项目的node。但是,它没有示例Dockerfile,也没有详细介绍容器中实际运行的内容。

这是我用于测试(带有绑定安装)的Dockerfile,以确认该映像包含我需要在本地编译的所有内容:

FROM alpine
RUN apk add --no-cache \
    npm \
    chromium \
    curl \
    openssh \
    git
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
WORKDIR /app

我将其推送到Dockerhub @ ertw / react-snap-builder,以便可以从AWS Amplify引用它。

1 个答案:

答案 0 :(得分:1)

似乎还不支持Alpine: https://github.com/aws-amplify/amplify-console/issues/100#issuecomment-528598420

这是为我工作的最小图像:http://github.com/butaca/amplify-hugo(请注意,我是Docker的新手。)

请注意,在编写时,即使对于非Node应用程序,Node也是必需的。