Задать вопрос
@vbystrov

Можно ли использовать docker secrets как переменную окружения в сервисе docker swarm?

Всем привет! Подскажите, пожалуйста, я прочитал документацию, но так и не понял, можно ли передать Docker secrets в контейнер в виде переменной окружения? Использовать собираюсь в docker swarm.
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@catch-a-chalk
Привет! Да, можно. Как один из способов это загрузить секрет в файл и потом закинуть его в переменную окружения:

1. Создание секрета в swarm
echo "my_super_secret" | docker secret create db_pass -


2. Монтируем секрет в файл
// docker-compose.yml
version: "3.8"

services:
  app:
    image: my_app
    secrets:
      - db_pass
    environment:
      DB_PASSWORD_FILE: /run/secrets/db_pass
    deploy:
      mode: replicated
      replicas: 1

secrets:
  db_pass:
    external: true


3. В приложении читаем переменную из файла
const dbPassword = process.env.DB_PASSWORD_FILE 
  ? fs.readFileSync(process.env.DB_PASSWORD_FILE, 'utf8').trim()
  : "default_pass";
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы