1、从远程仓库拉取MySQL镜像,这里选择的是5.7版本,更多版本可参考https://hub.docker.com/_/mysql
docker pull mysql:5.7
2、在本机创建一个目录来保存容器内产生的数据,并且利用容器卷实现容器外创建配置文件来配置容器内的mysql,这里创建的目录是docker_data/mysql
mkdir -p /docker_data/mysql
接着分别创建log文件夹(用来存放mysql日志)、data文件夹(用来存放mysql的数据)、conf文件夹(用来存放my.cnf文件,以便在容器外部修改容器内mysql的配置)
最后在conf文件夹下创建my.cnf文件,并在my.cnf文件中添加一下内容
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
lower_case_table_names=1
忽略表名大小写,以及设置字符编码
3、使用docker run命令结合容器卷创建mysql容器实例
docker run -p 3306:3306 --privileged=true -d -v /docker_data/mysql/log:/var/log/mysql -v /docker_data/mysql/data:/var/lib/mysql -v /docker_data/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=mysql mysql:5.7
注:-e MYSQL_ROOT_PASSWORD=123456
这句话是将mysql中root用户密码设置为123456
4、使用docker ps
命令查看MySQL容器实例是否启动成功
5、使用docker exec -it命令打开MySQL容器实例的终端并连接mysql测试