我正在尝试为 React 项目应用构建 nginx 映像。
这是我的 Dockerfile:
FROM node:14-alpine as myapp
EXPOSE 3000
WORKDIR = /snakeapp
COPY package.json .
RUN yarn install --network-timeout 1000000
COPY . .
RUN yarn build
FROM nginx
COPY --from=myapp /snakeapp/build /usr/share/nginx/html
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
我在构建映像过程中遇到的错误是:
...
Status: Downloaded newer image for nginx:latest
---> 08b152afcfae
Step 9/11 : COPY --from=myapp /snakeapp/build /usr/share/nginx/html
COPY failed: stat snakeapp/build: file does not exist
你能给我一个提示,哪个目录不存在。
如果我只创建第一个图像,ls /snakeapp 会显示以下内容,因为我们可以看到构建文件存在。
/= /snakeapp # ls
build package-lock.json src yarn.lock
node_modules package.json webpack.config.js
答案 0 :(得分:2)
您注意到奇怪的文件夹名称 /= /snakeapp
了吗?那是因为 WORKDIR = ...
。删除那个 =
。
WORKDIR /snakeapp