#docker #vue.js
#docker #vue.js
Вопрос:
Я хочу использовать переменные среды операционной системы для построения моего проекта в vue.
Я знаю .env
, что файл можно использовать в root, но в моем случае я хочу, чтобы vue получал их из ОС, в моем случае переменные среды с помощью docker.
Как я могу это получить?
Ответ №1:
С помощью docker вы можете добавлять переменные в docker-compose.yml
environment:
MYSQL_ROOT_PASSWORD: 'password'
MYSQL_DATABASE: 'DB_DATABASE'
MYSQL_USER: 'DB_USERNAME'
MYSQL_PASSWORD: 'DB_PASSWORD'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
Комментарии:
1. Я не хочу использовать файл .env, я хочу использовать переменные docker env при сборке yarn.
2. yarn — это инструмент управления пакетами.. Не следовать тому, чего вы пытаетесь достичь..
Ответ №2:
Пока вы делаете переменные env доступными в node, команда node, которая обслуживает / создает приложение Vue, сделает переменные доступными process.env.YOUR_VAR
в любом js-файле проекта Vue.
Итак, теперь вопрос в том, как сделать переменные docker доступными в node, и ответ здесь: https://medium.com/@felipedutratine/pass-environment-variables-from-docker-to-my-nodejs-or-golang-app-a1f2ddec31f5
В основном это сводится к: sudo docker run [...] --env-file ./my_env.list [...]
Если вам нужна дополнительная информация о том, как создавать переменные среды в docker: https://docs.docker.com/compose/environment-variables /