У меня проблема, когда я объявляю переменные среды в файле docker-compose.yml, но когда я пытаюсь прочитать их, я получаю "undefined".
Мои шаги:
Я создал приложение React с помощью команды «создать приложение реакции», затем я запустил «извлечение» (но пока ничего не изменилось). Также я добавил Ngix в докер.
Затем я создал Dockerfile и добавил его в корень:
FROM node:alpine
WORKDIR '/app'
COPY ./package.json ./
RUN npm i
COPY . .
CMD ["npm", "run", "start"]
Затем я создал файл docker-compose.yml:
version: '3'
services:
nginx:
restart: always
build:
dockerfile: Dockerfile
context: ./nginx
ports:
- '3050:80'
client:
build:
context: ./client
dockerfile: Dockerfile
args:
- MAXIMUM_CAMERAS_COUNT=9
volumes:
- /app/node_modules
- ./client:/app
Затем я делаю "docker-compose up --build", и он работает отлично
Но когда я делаю где-то в приложении:
console.log('process.env.MAXIMUM_CAMERAS_COUNT:', process.env.MAXIMUM_CAMERAS_COUNT);
Я получаю "неопределенный".
Уже пробовал:
-Добавить в Dockerfile:
ARG MAXIMUM_CAMERAS_COUNT
ENV MAXIMUM_CAMERAS_COUNT $MAXIMUM_CAMERAS_COUNT
и в docker-compose.yml:
args:
- MAXIMUM_CAMERAS_COUNT=9
-Добавить в compose-docker.yml:
environment:
- MAXIMUM_CAMERAS_COUNT=9
-Добавить в compose-docker.yml:
environment:
MAXIMUM_CAMERAS_COUNT: 9
Есть еще идеи?