Я пытаюсь смонтировать сервер nginx с docker compose в экземпляре EC2. Мне нужно передать переменную окружения, которая определяется в пользовательских данных экземпляра
Я пытался загрузить его с помощьюопция среды docker compose, но когда nginx загружен, он создает статический код и не может быть заменен ссылкой на "process.env.KEY", я хочу знать, есть ли способ передать переменную в nginx, может бытьперед сборкой или обновите статические файлы после того, как они были созданы
userdata.sh
#!/bin/bash
echo KEY=keyexpected >> /etc/environment
docker-compose.yml
version: "3.1"
services:
container1:
container_name: container1
image: image1
restart: always
network_mode: bridge
environment:
- KEY=${KEY}
ports:
- 8080:80
container2:
container_name: container2
image: image2
restart: always
network_mode: bridge
ports:
- 3000:3000
Файл Javascript, который будет создан ngnix
const path = { key: process.env.KEY };
console.log(path.key)
Dockerfile of Node project
FROM nginx:1.15.2-alpine
RUN rm -rf /usr/share/nginx/html/
COPY nginx/default.conf /etc/nginx/conf.d/
COPY build /usr/share/nginx/html/
EXPOSE 80
ENTRYPOINT nginx -g 'daemon off;'
ожидается: console.log (path.key) ----> "ключ ожидается"
актуально: process.env.KEY не определено