секреты docker-compose без режима роя: как импортировать их значения?
Есть некоторые вопросы об использовании секретов сdocker-compose
без режима роя, но при попытке следовать некоторым из них мне так и не удалось прочитать секреты внутри работающего контейнера.
Подход №1
docker-compose.yml
:
version: "3.8"
services:
server:
image: alpine:latest
secrets:
- sec-str
environment:
- TE_STR=${sec-str}
command: tail -F .
secrets:
sec-str:
file: ./secret.s
:
sec-str="A!Bit@complicated-String^%"
Исход:
Подход №2
Изменения вносятся только здесь, вsecret.s
:
"A!Bit@complicated-String^%"
Исход:
/ # echo $TE_STR
str
Подход №3
TE_STR=${sec-str}
заменено наTE_STR=$sec-str
.
Исход:
/ # echo $TE_STR
-str
Кончились идеи на данный момент. Любые подсказки от вас?
1 ответ
Секреты по-прежнему являются файлами внутри контейнера. Вы можете найти свой по адресу:
/run/secrets/sec-str
Если вам это нужно как переменная среды en, сделайте следующее:
environment:
- TE_STR_FILE=/run/secrets/sec-str
Это установит TE_STR на содержимое вашего секрета.