Мне бы хотелось, чтобы мое приложение Angular получало доступ к переменным среды Docker, но при этом могло выполнять горячую перезагрузку.
Использование @ angular-builders / custom-webpack и @ angular-builders / dev-server непомочь вообще.
dotenv явно не работает с Angular (только с приложениями Node).
==============================
Вот мой Dockerfile:
FROM node:12.10.0
ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
RUN apt-get update && apt-get install -yq google-chrome-stable
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
ENV API_BASE=${API_BASE}
COPY package.json /app/package.json
RUN npm install
RUN npm install -g @angular/cli@8.0.2
COPY . /app
EXPOSE 4200 49153
CMD ng serve --host 0.0.0.0
Вот мой файл docker-compose.yml:
version: '3.7'
services:
web:
container_name: myapp-fe-container
build:
context: .
dockerfile: Dockerfile
image: myapp-fe-image
volumes:
- '.:/app'
- '/app/node_modules'
ports:
- '4200:4200'
- '49153:49153'
environment:
- CHOKIDAR_USEPOLLING=true
Мне нужно передать конечные точки api в docker-compose.yml в зависимости от среды, в которой он работает. Есть предложения?