Перейти к содержанию

Переменные среды Docker

При запуске контейнера Docker с MyDB Сервер вы можете настроить конфигурацию экземпляра при помощи добавления переменных среды в команду docker run.

Эти переменные ни на что не повлияют, если вы запустите контейнер с каталогом данных, который уже содержит базу данных. Любая ранее существовавшая база данных остается нетронутой при запуске контейнера.

Переменные являются необязательными, но необходимо указать хотя бы одно из следующих значений:

  • MYSQL_DATABASE — имя схемы базы данных, которая создается при запуске контейнера.

  • MYSQL_USER — создать учетную запись пользователя при запуске контейнера

  • MYSQL_PASSWORD — используется с MYSQL_USER для создания пароля для этой учетной записи пользователя.

  • MYSQL_ALLOW_EMPTY_PASSWORD — создает пользователя root с пустым паролем. Этот вариант небезопасен, и его следует использовать только для тестирования или проверки концепции, когда базу данных можно впоследствии удалить. Кто угодно может подключиться как root.

  • MYSQL_ROOT_PASSWORD — этот пароль используется для учетной записи пользователя root. Этот вариант не рекомендуется для производственной среды.

  • MYSQL_RANDOM_ROOT_PASSWORD — установите эту переменную вместо MYSQL_ROOT_PASSWORD, если вы хотите, чтобы сервер MyDB сгенерировал для вас пароль. Сгенерированный пароль доступен в логах контейнера только при первом запуске. Используйте docker logs. После первого запуска восстановить пароль невозможно.

Для дополнительной защиты вашего экземпляра используйте переменную MYSQL_ONETIME_PASSWORD.

Эти переменные видны любому, кто может запустить docker inspect.

$ docker inspect mydb
Ожидаемый результат
...
 "Env": [
                "MYSQL_ROOT_PASSWORD=root",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "MYDB_VERSION=8.4.0-1.1",
                "OS_VER=el8",
                "FULL_MYDB_VERSION=8.4.0-1.1.el8"
               ]
...

Если это нежелательно, вместо этих переменных вам следует использовать Docker-секреты или Docker-тома.

MyDB Сервер для MySQL также позволяет добавлять суффикс _FILE к имени переменной. Этот суффикс позволяет добавить значение из файла по указанному пути, чтобы его нельзя было увидеть снаружи контейнера.


Последнее обновление: 2024-04-30