Да , вы можете использовать секреты, если вы используете композитный файл . (Вам не нужно запускать рой).
Вы используете файл compose с docker-compose : в файле docker-compose.yml есть документация для «секретов» .
Я переключился на docker-compose, потому что хотел использовать секреты. Я счастлив, что сделал, это кажется намного более чистым. Каждый сервис отображается в контейнер. И если вы когда-нибудь захотите переключиться на запуск роя, вы уже там.
Примечание: секреты не загружаются в среду контейнера, они монтируются в / run / secrets /
Вот пример:
1) Структура проекта:
|
|--- docker-compose.yml
|--- super_duper_secret.txt
2) содержимое docker-compose.yml:
version: "3.6"
services:
my_service:
image: centos:7
entrypoint: "cat /run/secrets/my_secret"
secrets:
- my_secret
secrets:
my_secret:
file: ./super_duper_secret.txt
3) содержимое super_duper_secret.txt:
Whatever you want to write for a secret really.
4) Запустите эту команду из корня проекта, чтобы убедиться, что контейнер имеет доступ к вашему секрету (должен быть запущен Docker и установлен docker-compose):
docker-compose up --build my_service
Вы должны увидеть, как ваш контейнер выводит ваш секрет.