Создать случайный корневой пароль для MySQL в Docker

Чтобы сгенерировать случайный пароль root для MySQL в контейнере Docker, вы можете попробовать несколько методов:

Метод 1: использование переменных среды Docker

  1. Запустите контейнер MySQL Docker с помощью следующей команды, заменив желаемым паролем:
    docker run -e MYSQL_RANDOM_ROOT_PASSWORD=yes -e MYSQL_ROOT_PASSWORD=<your_password> mysql

    Этот метод автоматически сгенерирует случайный пароль root, если для переменной MYSQL_RANDOM_ROOT_PASSWORDустановлено значение «да», а переменная MYSQL_ROOT_PASSWORDне указана.

Метод 2. Использование секретов Docker

  1. Создайте файл с именем mysql_root_password.txtи введите в него желаемый пароль.
  2. Сохраните файл как секрет Docker:
    docker secret create mysql_root_password mysql_root_password.txt
  3. Запустите контейнер MySQL Docker, используя секрет:
    docker run --secret mysql_root_password mysql

    Секрет будет смонтирован внутри контейнера как /run/secrets/mysql_root_password, и вы сможете прочитать пароль из этого файла.

Метод 3. Использование Docker Compose
Если вы используете Docker Compose, вы можете определить пароль root в файле docker-compose.ymlследующим образом:

services:
  mysql:
    image: mysql
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "yes"
      MYSQL_ROOT_PASSWORD: <your_password>

При этом будет сгенерирован случайный пароль root, если для MYSQL_RANDOM_ROOT_PASSWORDустановлено значение «да», в противном случае будет использоваться предоставленный пароль.