nextcloud на docker - ошибка инициализации базы данных

nss_ldap был заменен на pam_ldap и nss-pam-ldapd. В моей системе отсутствовал nss-pam-ldapd. После установки этого пакета мой клиент RHEL 6.5 аутентифицировался на моем сервере LDAP RHEL 5.

Кроме того, в / var / log / messages, когда мой вход в LDAP не удался до этого исправления, я получал сообщение об ошибке: Не удалось разблокировать связку ключей входа с предоставленным паролем. Я не использую TLS, поскольку моя система отключена.

0
09.05.2019, 10:46
1 ответ

Если вы используете официальный mariadbобраз Docker , сценарий docker-entrypoint.shтребует, чтобы путь /var/lib/mysqlбыл доступен для записи пользователю, от имени которого вы запускаете контейнер. В противном случае контейнер не запустится

В вашем docker-compose.ymlвы определили именованный том db, который должен быть подключен к контейнеру db. Если вы не создаете именованный том dbперед выполнением docker-compose up, то каталог /var/lib/mysqlвнутри тома, вероятно, создается с неправильными разрешениями, поскольку вы обычно являетесь привилегированным пользователем при запуске docker-compose.

У вас всегда должна быть возможность просмотреть том с хоста, вы также можете подключить том к новому контейнеру для чтения -только для просмотра (минимальное или пустое изображение работает лучше всего ). С хоста вы можете запустить docker volume inspect db, чтобы получить расположение файла, соответствующее хосту, запустить docker volume list, чтобы увидеть, не назвал ли том по-другому композицию docker -. Если у вас нет серверной части с экзотическими файлами, вы сможете напрямую chownуказать необходимые каталоги в UID пользователя из контейнера.

Все это необходимо сделать до того, как вы попытаетесь запустить docker-composeкластер, предварительно создав dbименованный том и убедившись, что необходимые каталоги имеют соответствующие разрешения.

0
28.01.2020, 03:42

Теги

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