No se puede copiar el archivo de configuración en el directorio de mi proyecto a /etc/nginx/conf.d/default.conf
ubicación del archivo fuente: /app/nginix.conf
COPY nginx.conf /etc/nginx/conf.d/default.conf
destino: /etc/nginx/conf.d/default.conf
Pasos en el archivo 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
Intenté comentar el primer comando de copia, y pude copiar la compilación y fue bueno. cuando puede encontrar la compilación en el directorio de la aplicación, ¿por qué no puede encontrar el archivo nginix.conf que también está en el mismo directorio? Hizo un ls -la y vio el archivo nginix.conf.
AIT
Si la ruta del archivo de origen es /app/nginix.conf
, el dokefile debe contener:
COPY /app/nginx.conf /etc/nginx/conf.d/default.conf
Si está ejecutando el comando de docker build
desde el directorio /app
en su host, entonces su dockerfile anterior debería funcionar.
Actualizar:
Si espera que el archivo /app/nginx.conf de la imagen de la ventana acoplable del node
se presente en la imagen nginx:alpine
, debe usar compilaciones de la ventana acoplable de varias etapas .
Cambie su dockerfile
a
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
Esto copiará el archivo /app/nginx.conf
de la imagen del node
a la imagen nginx:alpine
.
Si alguien todavía está luchando con esto...
¡Cambiar WORKDIR de la aplicación a builddir funcionó!
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;"]