Есть способ передать переменную из userdata в docker-compose в nginx в экземпляре EC2 - PullRequest
1 голос
/ 27 июня 2019

Я пытаюсь смонтировать сервер 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 не определено

1 Ответ

0 голосов
/ 27 июня 2019

пожалуйста, попробуйте

#!/bin/bash
echo KEY="keyexpected" >> /etc/profile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...