Лучшая практика для MySQL паролей в Docker - PullRequest
1 голос
/ 19 апреля 2020

Я сейчас играю с docker контейнерами и mysql базами данных. Каждое приложение имеет свой собственный mysql db в своем собственном контейнере docker. Приложение и база данных совместно используют сеть, само приложение доступно через другую сеть (traefik). это означает, что база данных mysql недоступна извне. Насколько важно установить безопасные пароли для экземпляров mysql? Есть ли лучшая практика?

Обновление : Использование сейчас Docker секретов

Вот пример docker -compose.yaml i использовать с nextcloud:

services: 
  nextcloud-db:
    image: mariadb
    container_name: nextcloud-db
    command: --transaction-isolation=READ-COMMITTED --log-bin=ROW
    restart: unless-stopped
    volumes:
      - /opt/docker/nextcloud/database:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root_password
      MYSQL_PASSWORD_FILE: /run/secrets/mysql_user_password
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_INITDB_SKIP_TZINFO: 1
    secrets:
      - mysql_root_password
      - mysql_user_password



secrets:
  mysql_root_password:
    file: /opt/docker/secrets/mysql_root_password
  mysql_user_password:
    file: /opt/docker/secrets/mysql_user_password

Вы можете создать секретные файлы с помощью:

openssl rand -base64 32 > /opt/docker/secrets/mysql_root_password
openssl rand -base64 32 > /opt/docker/secrets/mysql_user_password

1 Ответ

1 голос
/ 19 апреля 2020

Вы всегда должны стремиться иметь надежный пароль для MySQL, даже если ваше приложение находится в локальной сети docker.

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

К счастью, очень легко использовать секреты (которые являются действительно простыми файлами, содержащими пароли, смонтированные в каталоге / secrets в ваших контейнерах) с Docker swarm и Docker compose.

См. пример здесь: https://blog.ruanbekker.com/blog/2017/11/23/use-docker-secrets-with-mysql-on-docker-swarm/

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