1、查询想要安装的mysql版本
2、根据镜像描述选择合适版本
3、拉去mysql镜像(我选的8.0)
//拉去 mysql:8.0 镜像
docker pull mysql:8.0
//查看所有镜像
docker images
4、创建mysql容器
docker run --name mysql8.0 -p 3308:3306 -e mysql_root_password=123456 -v /root/programe/docker/testMysql/:/usr/mysqlDocker -it -d mysql:8.0 /bin/bash
命令说明
-p 3307:3306:将宿主机的3307端口映射到容器的3306端口(默认3306:3306)
-v /root/programe/docker/testMysql/:/usr/mysqlDocker:将宿主机/root/programe/docker/testMysql/目录挂载到容器的/usr/mysqlDocker (容器目录必须为绝对路径,即/开头,此路径不存在会自动创建)注意:对挂在目录不熟悉的先不要加,加了可能会导致mysql不能启动,挂载目录需要和容器目录对应
-e mysql_root_password=123456:初始化root用户的密码(mysql_root_password大小写都可以)
-d: 后台运行容器,并返回容器ID
-it /bin/bash : 开启交互窗口,可以防止容器启动马上退出
mysql:8.0: 你的容器id或者名字
–name mysql8.0: 为容器起别名,如果不设置,系统会自动生成一个名字
5、查看所有的容器
启动mysql8.0容器
如果你的容器是退出状态,可以使用如下命令开启,docker8.0为你的容器id或名字
docker start docker8.0
6 、进入容器
//退出容器,容器不会关闭
docker exec -it docker8.0 /bin/bash 或 docker exec -it docker8.0 bash
//退出容器容器关闭
docker attch -it docker8.0 /bin/bash 或 docker attch -it docker8.0 bash
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
可以看见创建容器时设置的挂载目录
7、 连接mysql mysql -u root -p
8、 开启远程连接
select host,user,plugin from mysql.user; //如下可以看到默认支持远程连接
有的远程连接可能是下面情况
参考我的另一篇博客可以完美解决
链接: https://blog.csdn.net/qq_41538097/article/details/106905416.