• springboot + mysql的dorker部署


    关键词:docker、springboot、 mysql、 jar

    1. docker部署mysql

    注意:-p 3307:3306是宿主机到容器的一个端口映射,这里为了不与主机的mysql冲突,应该修改为3307端口
    注意:为了mysql可以输入中文字符,需要添加命令。
    链接

    docker pull mysql:8.0
    docker run -d -p 3307:3306 -v mysql_conf:/etc/mysql/conf.d -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
    docker inspect mysql01 # 查看容器ip
    docker images # 查看docker的镜像
    docker ps # 查看docker的容器
    docker exec -it mysql01 /bin/bash # 进入容器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2. springboot打包

    首先要有一个在本地可以运行的springboot项目。
    观察application.properties文件。
    其中有项目的端口号、连接的mysql的配置信息等。连接本地mysql时使用的是127.0.0.1,连接容器中的数据库需要容器的ip地址。
    使用maven进行打包

    server.port=3000
    
    spring.datasource.username=root
    spring.datasource.password=123456
    #spring.datasource.url=jdbc:mysql://127.0.0.1:3307/kob2?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
    spring.datasource.url=jdbc:mysql://172.17.0.2:3306/kob2?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
    #spring.datasource.url=jdbc:mysql://172.29.128.1:3307/kob2?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
    
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    # maxFileSize ??????
    spring.servlet.multipart.maxFileSize = 200MB
    # maxRequestSize ??????
    spring.servlet.multipart.maxRequestSize=200MB
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.docker部署springboot镜像和容器

    其中开放的端口号为springboot服务的端口号

    # 拉取基础镜像
    FROM java:8
    # 设置作者信息
    MAINTAINER hsc"707671533@qq.com"
    # 把hsc2022010701nacos-0.0.1-SNAPSHOT.jar添加到容器里,并重命名为app.jar
    # 因为hsc2022010701nacos-0.0.1-SNAPSHOT.jar和Dockerfile在同一个目录下,所以只写文件名即可
    ADD hsc2022010701nacos-0.0.1-SNAPSHOT.jar app.jar
    # 设置端口号,此处只开放一个端口8080
    EXPOSE 3000
    # 执行命令,此处运行app.jar
    RUN bash -c 'touch /app.jar'
    ENTRYPOINT ["java","-jar","app.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    构建镜像

    docker build -f Dockerfile -t hsc_spring:v1.0 .
    
    
    • 1
    • 2

    创建容器,注意端口号3000是容器中的springboot服务的端口号

    docker run -d -p 8089:3000 --name=hsc_spring hsc_spring:v1.0
    
    • 1

    此时通过主机的8089端口可以访问springboot容器的3000端口,这也是其后端服务端口。后端端口通过数据库的ip地址访问mysql容器的3036端口,进行数据库的增删查改

  • 相关阅读:
    centos LVM磁盘快照
    Hyperledger Fabric 2.x 自定义智能合约
    第二十一章 轮播图
    JavaScript基础大总结
    Linux 服务器使用过程中,mysql突然不能用了,报如下错误
    Element el-table 表格内容 样式错乱的问题
    端口转发配置
    c#设计模式-结构型模式 之装饰者模式
    2022/7/26
    基于无人机倾斜摄影模型提取高精度地形DEM数据
  • 原文地址:https://blog.csdn.net/csdn_ggboy/article/details/126192421