Можно придумать несколько возможных подходов.
- Сохраните секрет в переменной окружения, ссылаясь на переменную среды в вашем файле компоновки, например this
environment:
RACK_ENV: development
SHOW: 'true'
SESSION_SECRET:
Ключи без какого-либо значения преобразуются в их значения на машине.
Другой подход может заключаться в использовании секретный ключ докера . Создайте секрет
$ printf "This is a secret" | docker secret create db_password -
Если это файл, его можно сохранить, как
$docker secret create site.key site.key
Доступ к секрету в вашем наборе, как показано ниже
version: '3.1'
services:
db:
image: mysql:latest
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_root_password
- db_password
Секретдоступно в папке / run / secrets.
Если вы фиксируете контейнер, секреты не включаются.