背景:我正在尝试运行react-snap,它使用Puppeteer和无头 Chrome 从javascript生成HTML(在这种情况下为React)。实际上,我最终能够使它在默认的Amazon Linux构建镜像中运行,但是我对如何使用自定义镜像感到非常好奇。
当我尝试通过指向Docker Hub存储库使用自定义镜像时,AWS Amplify构建过程失败,没有日志输出。我可以在本地使用该镜像而不会出现问题,因此我怀疑我只是不了解为Amplify运行该程序所需要的内容。
According to the documentation支持从Docker Hub提取,它需要具有curl,git,openssh和node项目的node。但是,它没有示例Dockerfile,也没有详细介绍容器中实际运行的内容。
这是我用来测试(带有绑定(bind)安装)的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引用它。
最佳答案
似乎还不支持Alpine:
https://github.com/aws-amplify/amplify-console/issues/100#issuecomment-528598420
这是对我有用的最小镜像:http://github.com/butaca/amplify-hugo(请注意,我是Docker的新手)。
请注意,在编写本文时,即使对于非Node应用程序,Node也是必需的。
关于docker - 如何在AWS Amplify中使用自定义构建镜像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57563230/