на стадии старта контейнера, а не его билда? докерфайл менять или есть настройка у реакта?
сейчас докерфайл такой:
FROM node:alpine as BUILD_IMAGE
WORKDIR /app
COPY package.json ./
# install dependencies
RUN npm install
COPY . .
# build
RUN npm run build
# remove dev dependencies
FROM node:alpine
WORKDIR /app
# copy from build image
COPY --from=BUILD_IMAGE /app/package.json ./package.json
COPY --from=BUILD_IMAGE /app/node_modules ./node_modules
COPY --from=BUILD_IMAGE /app/.next ./.next
COPY --from=BUILD_IMAGE /app/public ./public
EXPOSE 3000
CMD ["npm", "start"]
В таком случае переменные окружения подтягиваются во время билда
Просто передавать энвы при старте
так и делаю Проблема в том, что уже на стадии билда все переменные подменились на пустые значения
Как и должны. У тебя есть переменные билда, есть переменные рантайма . Я вижу npm start, вторые как раз будут браться бэком из process.ENV
а если на реакте только фронт?
Если он не собран в статику и не обслуживается исключительно нджинксом, то и тут есть варианты
он как раз в статику и собран. Везде пишут, мол так надо…
Допустим, но тогда тебе там не нужна нода. Энивей, пусть так - у тебя есть переменные, влияющие на билд, их так часто используют. Тогда то, что ты хочешь достичь, обычно делается через отдачу статикой конфига, который ты генеришь как хочешь, в том числе и из энвов. Но это уже предмет обсуждения с фронтендерами, им его использовать
Обсуждают сегодня