Трябва да създадете потребител чрез MYSQL_USER
, MYSQL_PASSWORD
env vars и използвайте обем /docker-entrypoint-initdb.d
да картографирате директорията с вашите скриптове за стартиране (.sh
, .sql
, .sql.gz
)
docker run -p 3306:3306 --name mysql-server \
-v ~/Development/web/myproject/docker/mysql:/var/lib/mysql \
-v ~/Development/web/myproject/docker/yourstartupscripts:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_USER=youruser \
-e MYSQL_PASSWORD=youruserpassword \
-d mysql:latest
Обяснение от:https://hub.docker.com/_/mysql/
MYSQL_USER, MYSQL_PASSWORD
Тези променливи не са задължителни, използват се заедно за създаване на нов потребител и за задаване на паролата на този потребител. На този потребител ще бъдат предоставени разрешения за суперпотребител (вижте по-горе) за базата данни, посочена от MYSQL_DATABASE
променлива. И двете променливи са необходими, за да бъде създаден потребител.
Инициализиране на нов екземпляр
Когато контейнер се стартира за първи път, ще бъде създадена и инициализирана нова база данни с посоченото име с предоставените конфигурационни променливи. Освен това, той ще изпълнява файлове с разширения .sh
, .sql
и .sql.gz
които се намират в /docker-entrypoint-initdb.d
. Файловете ще се изпълняват по азбучен ред. Можете лесно да попълните вашите mysql услуги чрез монтиране на SQL дъмп в тази директория
и предоставя персонализирани изображения
с предоставени данни. SQL файловете ще бъдат импортирани по подразбиране в базата данни, посочена от MYSQL_DATABASE
променлива.