• 使用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可以正常使用了。

  • 相关阅读:
    Servle生命周期
    Nginx反向代理
    redis
    java二分查找
    Redis集群的数据一致性
    springmvc中controller不要定义全局变量
    elasticsearch-6.7.1和kibana-oss-6.7.1的Linux安装
    centos7.0查看IP,Linux基本命令
    高并发ConcurrentHashMap 1.8的原理
    JS 循环 while for do while
  • 原文地址:https://www.cnblogs.com/qzwl/p/12358769.html
Copyright © 2020-2023  润新知