无法在nginix /etc/nginx/conf.d/default.conf中复制配置文件



无法在我的项目dir中复制config file到/etc/nginx/conf.d/default.conf

源文件位置:/app/nginix.conf

COPY nginx.conf /etc/nginx/conf.d/default.conf

目标:/etc/nginx/conf.d/default.conf

docker文件中的步骤:

Tried the multi stage build:
- FROM node:8.9.0 as buid
- WORKDIR /app
- COPY package.json package-lock.json ./
- RUN npm install
- COPY . ./
- RUN npm run build

- FROM nginx:alpine
- RUN mkdir -p /var/www/html/client
- COPY --from=buid /app/nginix.conf /etc/nginx/conf.d/default.conf
- COPY --from=buid /app/build/ /var/www/html/client

尝试评论第一个复制命令,并且能够复制构建,这很好。当它能够在dir中找到构建时

tia

如果源文件路径为 /app/nginix.conf,则dockefile应该包含:

COPY /app/nginx.conf /etc/nginx/conf.d/default.conf

如果您正在从主机上的/app目录运行docker build命令,则您的上述Dockerfile应该有效。

更新:

如果您期望/app/nginx.conf node docker映像的文件中呈现在 nginx:alpine映像中,则需要使用多阶段docker builds。

将您的dockerfile更改为

FROM node as build
WORKDIR /app
COPY package json files 
RUN npm build
FROM nginx:alpine 
COPY --from=build /app/nginx.conf /etc/nginx/conf.d/default.conf

这将将/app/nginx.conf文件从node图像复制到nginx:alpine图像。

如果某人仍在为此挣扎。

将WorkDir从应用程序更改为builddir工作!

FROM node:alpine as builder 
WORKDIR '/builddir'
COPY package.json .
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /builddir/build /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

相关内容

最新更新