Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这期内容当中小编将会给大家带来有关Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获
千家信息网最后更新 2025年11月07日Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些
这期内容当中小编将会给大家带来有关Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、安装docker-compose
环境Centos7
//下载docker-composecurl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose//为文件增加可执行权限,要不然root用户也没有权限chmod +x /usr/local/bin/docker-compose//查看是否安装成功[root@SJS local]# docker-compose --versiondocker-compose version 1.27.3, build 4092ae5d
常用命令
#构建、创建、启动相关容器docker-compose up -d#停止所有相关容器docker-compose stop#列出所有容器信息docker-compose ps
二、部署的步骤
1.使用Dockerfile定义应用程序环境,一般需要修改初始镜像行为时才需要使用
2.使用docker-compose.yml定义要部署的应用程序服务,以便执行脚本一次性部署
3.使用docker-compose up命令将所有应用服务一次性部署起来
三、部署SpringBoot项目
项目整体

1.编写Dockerfile
FROM java:8# 在docker容器中自建容器卷,用于数据保存和持久化工作VOLUME /tmp#用于复制文件并解压缩(COPY不能解压缩)#将当前的redpacket-backend-1.0.0-SNAPSHOT.jar复制到docker容器根目录下ADD redpacket-backend-1.0.0-SNAPSHOT.jar app.jar#运行过程中创建一个app.jar文件RUN sh -c 'touch /app.jar'ENV JAVA_OPTS=""#执行传入的参数的linux命令,启动jar包#不同CMD的是:多个CMD命令只能是最后一个生效,CMD会被docker run之后的参数替换#ENTRYPOINT 执行的命令会追加不会覆盖ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
2.编写docker-compose.yml文件
该文件主要分为三个组成部分
工程:整个yml文件就是一个工程
服务:services节点下即为服务
容器:服务下为容器
version: '3.8'services: #mysql服务名字 mysql: #使用的镜像 image: mysql:5.7 command: --default-authentication-plugin=mysql_native_password ports: - 3306:3306 environment: MYSQL_ROOT_HOST: '%' MYSQL_ROOT_PASSWORD: '123456' MYSQL_ALLOW_EMPTY_PASSWORD: 'no' MYSQL_DATABASE: 'redpacket' MYSQL_USER: 'root' MYSQL_PASSWORD: '123456' #需要挂载的文件卷 volumes: - /mydata/mysql/data:/var/lib/mysql - /mydata/mysql/log:/var/log/mysql - /mydata/mysql/conf:/etc/mysql restart: always networks: - test_network #SpringBoot项目服务 redpacket: container_name: redpacket #构建指定目录下的Dockerfile build: context: . dockerfile: Dockerfile depends_on: - mysql ports: - "8090:8090" restart: always networks: - test_networknetworks: test_network:
3.注意修改yml文件链接名字

4.一键启动项目
将项目的dockerfile、docker-compose.yml、jar包放到同一目录下,使用docker-compose启动即可
就成功了
四、踩的坑
如果在使用的过程中修改了Dockerfile,一定要把之前的镜像删掉!,要不然即使运行docker-compose up命令能成功,也不会重新构建之前的镜像只是重新创建一个容器。
上述就是小编为大家分享的Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
容器
文件
项目
服务
命令
镜像
成功
应用
一次性
内容
参数
名字
就是
工程
应用程序
权限
环境
目录
程序
要不
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql数据库查询成绩平均分语句
php联接数据库
2u服务器主板分几种
曾毅数据库专家
网络安全教育格言书法
数据库加表
30岁还可以学软件开发吗
数据库怎么查询一个字的记录
数据库编程学习桌推荐
河南健信网络技术有限公司招聘
fast数据库是什么
数据库实验项目
工信部网络安全管理局张洪
如何修改传奇数据库文件夹里
软件开发前期需求
紫光互联网科技
息县淘客app软件开发
麻将跑得快棋牌游戏软件开发
服务器懒人包
查询本机是否装了数据库
网络安全法国实施时间
服务器怎样安装win7驱动
软件开发三线城市最强
php和sql数据库的关系
手机程序中清除数据库
服务器安全组端口怎么设置
广西云客网络技术有限公司
智慧消防平台系统软件开发
多个连接同一个数据库
网络安全班会活动情况