Секреты в докере сочинения - PullRequest
0 голосов
/ 06 октября 2019

Моя среда - Ubuntu 18.04 VPS.

Я не могу получить файловые секреты для работы с mariadb в контейнере Docker.

  1. create docker-compose.yml:
version: '3.7'
services:
  db:
    image: mariadb:10.4.8-bionic
    environment:
      - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/password_root
      - MYSQL_PASSWORD_FILE=/run/secrets/password_user
      - MYSQL_DATABASE=database
      - MYSQL_USER=admin
    secrets:
      - password_root
      - password_user
secrets:
  password_root:
    file: .secret_password_root
  password_user:
    file: .secret_password_user
создавать секреты:
echo -n secret > .secret_password_root
echo -n secret > .secret_password_user
chown root:root .secret_password*
chmod 400 .secret_password*

(Обратите внимание, что я могу установить 444, но это приведет к открытию файла секретов на хосте, что является очень плохой идеей.)

run:
docker-compose up

Ошибка:

db_1 |/usr/local/bin/docker-entrypoint.sh: строка 37: / run / secrets / password_root: разрешение отклонено

Согласно документам , файл секретов должен бытьустановлен как 0444, но этого явно не происходит.

Ответы [ 2 ]

1 голос
/ 07 октября 2019

Очевидно это не поддерживается для "docker compose", только для "docker swarm". Документы вводят в заблуждение.

0 голосов
/ 06 октября 2019

Подсказка здесь:

chown root:root .secret_password* # set root as owner
chown 400 .secret_password*       # set `400` as owner

Заменить chown на `chmod:

chown root:root .secret_password*
chmod 400 .secret_password*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...