docker与mysql的相爱相杀
## 1.docker 安装一个mysql
-
去docker huphttps://hub.docker.com 上寻找对应版本的镜像(一定要找与项目对应版本或兼容的,不然连接会出错)。
-
DESCRIPTION 就是对mysql的使用介绍。 TAGES:里面是发布的版本。
-
拉取对应版本镜像(不写版本默认拉取最新的) docker pull mysql**:5.6.34**.
-
查看拉取的镜像 docker images
6. -
这里分别拉取了最新的 和5.6.34版本的。IMAGE ID 用来唯一标识这个镜像的。
-
运行并创建一个容器 docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d 04c7801756fa
- –name:给新创建的容器命名,此处命名为
mysql2
- -e:配置信息,此处配置
mysql
的root用户
的登陆密码 - -p:端口映射,此处映射
主机3306端口
到容器mysql2的3306端口
- -d:成功启动容器后输出容器的完整ID,例如上图
04c7801756fa
- 最后一个
04c7801756fa
指的是能够唯一标识镜像的 ,可以写TAG或者是IMAGE ID
-
查看容器的运行状态 docker ps
-
连接测试
-
项目配置:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://********:3306/o2o?useUnicode=true&characterEncoding=utf8 jdbc.username=root jdbc.password=123456
-
注意点:服务器的端口要开启,还有注意防火墙。这些原因都有可能导致连接测试失败。
2.docker安装多个mysql 并运行
- 只需要在创建一次容器即可
- docker run --name mysql3 -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -d 04c7801756fa
- 注意这次容器名字和映射段端口要改变一下,不能重复用一个。
- jdbc.url=jdbc:mysql://********:3307/o2o?useUnicode=true&characterEncoding=utf8
3.通过docker 进入mysql
- docker exec -it mysql2 /bin/bash
- mysql -uroot -p123456