javascript - 在 Docker 中使用本地卷共享运行 Gatsby
问题描述
我正在尝试设置 Wordpress + Gatsby Docker 配置。整个 Wordpress 和数据库部分都不是问题,并且工作正常。
但盖茨比部分更多的是一个问题。这个想法是构建一个安装了 Gatsby CLI 和 Node 模块的映像,同时整个应用程序共享到本地文件夹。这就是我现在的位置Dockerfile
FROM node:14.11.0-alpine
RUN npm install -g gatsby-cli
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8000
CMD ["gatsby", "develop"]
这是图像的输出
gatsby_1 | ╔════════════════════════════════════════════════════════════════════════╗
gatsby_1 | ║ ║
gatsby_1 | ║ Gatsby collects anonymous usage analytics ║
gatsby_1 | ║ to help improve Gatsby for all users. ║
gatsby_1 | ║ ║
gatsby_1 | ║ If you'd like to opt-out, you can use `gatsby telemetry --disable` ║
gatsby_1 | ║ To learn more, checkout https://gatsby.dev/telemetry ║
gatsby_1 | ║ ║
gatsby_1 | ╚════════════════════════════════════════════════════════════════════════╝
gatsby_1 |
gatsby_1 | ERROR
gatsby_1 |
gatsby_1 | There was a problem loading the local develop command. Gatsby may not be installed in your site's "node_modules" directory. Perhaps you need to run "npm install"? You might need to delete your "package-lock.json" as well.
gatsby_1 |
wp-gatsby_gatsby_1 exited with code 1
但是当我node_modules
在运行开发服务器之前检查右边的内容时,我可以看到所有 Gatsby 模块。这是整个项目的回购。知道我错过了什么吗?
解决方案
失败的命令是/bin/sh -c autoreconf -fiv
. 您可以检查基本映像并查看它是否丢失autoconf
。您需要先安装它:
RUN apk update && apk add autoconf
既然您提到node_modules
:确保您在 .dockerignore 中有一个条目,否则该命令COPY . .
将覆盖yarn install
已安装在映像中的任何内容。