使用docker创建MySQL容器,并在springboot中使用

最近在看网上找了个springboot的项目试试,在项目中需要的MySQL版本是5.7,但是本机的MySQL只有5.5。因此想着在我的服务器上跑一个MySQL:5.7的容器解决这一问题,但是在实际操作过程中出现了一些问题,在这做下记录。

一、MySQL:5.7容器的创建

1.拉取镜像

1 docker pull mysql:5.7

2.查看镜像

1 docker images

3.创建与启动容器

1 docker run -di --name=mysql5.7 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

4.查看启动的容器

1 docker ps

5.查看容器(包括关闭的容器)

1 docker ps -a

二、出现的问题

1.创建完容器后,以守护式方式创建完容器后发现MySQL容器几秒钟后自己关闭了。

在网上查后发现可能是虚拟内存不够。使用free后发现swap虚拟内存为0,应该是虚拟内存未启用。

启用swap:

1 dd if=/dev/zero of=/swapfile bs=1M count=1024
2 
3 mkswap /swapfile
4 
5 swapon /swapfile

再次free发现swap有数值了

 再次启动容器后发现容器不会自己关闭了,那么问题解决了。

2.在springboot中连接MySQL容器报错

 在网上搜索解决办法大部分都说是权限的问题,但是添加权限后还是没用。

后来想到可能是配置文件的问题,因为我将服务器的33306端口映射到了MySQL的3306端口,而在配置文件中没有填写MySQL端口的信息,那么用的应该是MySQL默认的3306端口。

在配置文件中加入33306端口配置信息,springboot可以正常使用了。

posted @ 2020-02-24 21:03  轻舟万里  阅读(1847)  评论(0编辑  收藏  举报