第一步搜索镜像
去这个网址https://hub.docker.com/搜索mysql镜像
第二步拉取镜像
选择合适的mysql版本:
docker宿主机上面拉取镜像:
docker pull mysql:5.7.38
第三步阅读帮助文档
仔细阅读docker官网上面的mysql的帮助文档,主要找3个地方
- 如何启动并设置mysql的密码
- 如何自定义配置文件到本地
- 如何自定义数据存储目录到本地
首先找第一个 如何启动:
对于以上文档我们根据给的命令有所取舍,可以这样启动:
docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.38
启动之后可以使用navicat工具连接一下试试。这一步只是简单试验。
第二个问题 如何自定义配置文件到本地:
根据文档说明先在本地创建一个my.cnf文件 并设置如下内容:
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
再看第三个问题:如何映射数据存储到本地,此时可以先使用最基础命令启动mysql并使用工具连接上 然后执行sql:show variables like '%data%'
知道了容器里面存储的路径之后可以使用容器卷映射到本地目录。
重点来了,结合以上三步最终组合启动命令如下:
docker run -d -p 3306:3306 -v /home/docker/mysql/conf:/etc/mysql/conf.d -v /home/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql3 mysql:5.7.38
其中/home/docker/mysql/conf文件夹中放着我们上面自定义的my.cnf文件
/home/docker/mysql/data文件夹存储mysql中的数据库数据。
以上执行完毕之后使用navicate连接即可。