#docker #deployment #docker-compose #dockerfile #saleor
#docker #развертывание #docker-создать #dockerfile #saleor
Вопрос:
Я пытался развернуть свой настроенный Saleor в DigitalOcean droplet с использованием Dockerfile. Для производственной среды Dockerfile является
FROM node:10 as builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
ARG API_URI
ENV API_URI ${API_URI:-http://localhost:8000/graphql/}
RUN API_URI=${API_URI} npm run build
FROM nginx:stable
WORKDIR /app
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/dist/ /app/
Для среды разработки Dockerfile.разработчик
FROM node:10
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
ARG APP_MOUNT_URI
ARG API_URI
ARG STATIC_URL
ENV API_URI ${API_URI:-http://localhost:8000/graphql/}
ENV APP_MOUNT_URI ${APP_MOUNT_URI:-/dashboard/}
ENV STATIC_URL ${STATIC_URL:-/dashboard/}
EXPOSE 9000
CMD npm start -- --host 0.0.0.0
Я могу выполнить развертывание с помощью Dockerfile.разработчик, но не может выполнить развертывание с использованием Dockerfile для производства. В итоге возникли следующие ошибки
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! saleor-site@2.10.4 build: `webpack -p`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the saleor-site@2.10.4 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-08-23T18_40_53_645Z-debug.log
ERROR: Service 'storefront' failed to build: The command '/bin/sh -c API_URI=${API_URI} npm run build' returned a non-zero code: 2
Комментарии:
1. На самом деле интересная ошибка находится выше того, что вы показываете. Отложите на данный момент Docker; если хотите
rm -rf node_modules; npm install; npm run build
, работает ли он в среде Node, которую вы используете для повседневной разработки?2. @DavidMaze выдает ту же ошибку. Итак, проблема в моих пакетах, а не в docker