1.查看mysql镜像
代码语言:javascript复制docekr search mysql
2.拉取mysql,不选择版本号,默认拉取lastest最新的(tips:这个最新指的是docker-hub中的最新)
代码语言:javascript复制docekr pull mysql
3.创建目录,把mysql容器内部的数据挂载到宿主机
代码语言:javascript复制#创建目录
mkdir -p mkdir /docker/mysql/data /docker/mysql/conf.d
#编写配置文件
vi /docker/mysql/my.cnf
#配置文件内容
[mysqld]
!includedir /etc/mysql/conf.d/
4.运行实例
代码语言:javascript复制docker run --name mysql -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf.d:/etc/mysql/conf.d -v /docker/mysql/my.cnf:/etc/mysql/mysql.cnf -e MYSQL_ROOT_PASSWORD=xsy1997 --privileged=true -p 3306:3306 -d mysql --lower_case_table_names=1
5.navicat连接测试,若是启动失败,查看日志
代码语言:javascript复制#查看日志
docker logs mysql
#强制删除容器
docker rm -f mysql
6.命令解读
代码语言:javascript复制*运行命令:
--name:容器别名
-v:目录挂载,前者是宿主机路径,后者是容器内部文件路径
-e MYSQL_ROOT_PASSWORD:指定数据库密码
--privileged:获取宿主机权限
-p:映射端口号,前者是外部访问的端口,后者是容器内部端口
--lower_case_table_names:设置数据库大小写不敏感
*日志命令
docker logs [OPTIONS] CONTAINER
OPTIONS:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如4m(即4分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志或是相对时间,如4m(即4分钟)