官方参考网址:https://hub.docker.com/_/mysql/
1 docker拉取对应标签的MySQL镜像
docker pull mysql:5.7
当前docker支持的mysql标签tag有(后续会不断更新变化,以参考官网为准):
8.0.16,8.0,8,latest
5.7.26,5.7,5
5.6.44,5.6
5.5.62,5.5
2 运行使用
2.1 启动MySQL服务器实例
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
2.2 启动时挂载volume资料卷
可以在/etc/mysql/my.cnf其中找到MySQL的默认配置,这可能是!includedir其他目录,如/etc/mysql/conf.d或/etc/mysql/mysql.conf.d。请检查mysql图像本身内的相关文件和目录以获取更多详细信息。
如果/my/custom/config-file.cnf是自定义配置文件的路径和名称,则可以mysql像这样启动容器(请注意,此命令中仅使用自定义配置文件的目录路径):
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
这将启动一个新容器some-mysql,其中MySQL实例使用来自的组合启动设置,/etc/mysql/my.cnf并且/etc/mysql/conf.d/config-file.cnf后者的设置优先。 此外,上面同时挂载数据存放目录/var/lib/mysql到主机目录/data/mysql。
2.3许多配置选项可以作为标志传递给mysqld。这将使您可以灵活地自定义容器而无需cnf文件。例如,如果要更改所有表的默认编码和排序规则以使用UTF-8(utf8mb4),只需运行以下命令:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
如果您想查看可用选项的完整列表,请运行:
docker run -it --rm mysql:tag --verbose --help
3 容器shell访问和查看MySQL日志
3.1 该docker exec命令允许您在Docker容器内运行命令。以下命令行将为您提供mysql容器内的bash shell :
docker exec -it some-mysql bash
3.2 该日志可通过Docker的容器日志获得:
docker logs some-mysql