1.查看仓库镜像
docker search mysql
2.然后从hub.docker.com或者第三方有加速的docker网站查看mysql镜像版本
3.拉取镜像,我这里用的是5.7.28版本
docker pull mysql:5.7.28
4.查看本地镜像
docker images
5.开启mysql一个容器
docker run --name mysql5.7.28 --restart=always -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:5.7.28 --lower_case_table_names=1
-v /etc/localtime:/etc/localtime:ro 设置容器的时间与宿主机同步
--restart=always 随docker启动而启动
-e MYSQL_ROOT_PASSWORD=root 初始化密码
--lower_case_table_names=1 表名忽略大小写
6.mysql远程连接
navicat远程连接mysql容器 --> 外网地址:3306;如果是阿里云或者腾讯云服务器,安全组3306端口要开放。
7.进入mysql容器
docker exec -it 容器id或者容器名字 /bin/bash
8.退出mysql容器
后续补充(20200114)
1.前面所有步骤操作完成后,运行一段时间发现自己新建的数据库会丢失,貌似应该事docker重启导致的数据丢失
2.配置数据挂载卷
步骤一:在usr/data/目录下新建mysql文件夹
步骤二:在usr/data/mysql/目录下新建conf、data、logs文件夹和my.cnf文件
步骤三:编辑my.cnf文件,下记内容拷贝进去
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
3.docker rm + 原来容器id,删除原来容器
4.执行新的运行容器命令
docker run --name mysql5.7.28 --restart=always --privileged=true -v=/usr/data/mysql/my.cnf:/etc/my.cnf -v=/usr/data/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:5.7.28 --lower_case_table_names=1
参数说明:
–restart always:开机启动
–privileged=true:提升容器内权限
-v=/usr/data/mysql/my.cnf:/etc/my.cnf:映射配置文件
-v=/usr/data/mysql/data:/var/lib/mysql:映射数据目录