如何启动脚本添加到MySQL泊坞窗容器?(How to add a startup script t

2019-10-30 03:57发布

我开始了码头工人的容器与MySQL。
其实我想创建一个新用户和新表 - 我必须这样做在MySQL工作台。

此北京时间我的搬运工运行命令:
docker run -p 3306:3306 --name mysql-server -v ~/Development/web/myproject/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

我的问题是:
我如何添加一个SQL启动脚本(仅适用于容器的第一次启动),这造成我的用户,我的表?
我有哪些步骤呢?

可能有人帮助我在这里?
非常感谢!

Answer 1:

你需要通过创建用户MYSQL_USERMYSQL_PASSWORD ENV VAR和使用量/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变量。



文章来源: How to add a startup script to a mysql docker container?
标签: mysql sql docker