Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这期内容当中小编将会给大家带来有关Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
互联网佳科技有限公司
互联网科技官网
科技与互联网
青岛互联网科技公司
互联网科技公司怎么样
新浪科技互联网
佩信高科技互联网
青岛中康互联网医疗科技有限公司
创业天下互联网科技有限公司
互联网科技革命什么开始
玉溪互联网科技怎么选
本届互联网博览会上的黑科技
互联网科技和法律行业
科技赋能视角下互联网保险发展
高科技互联网套路
互联网风格科技公司名称
互联网科技大佬云集
重庆科技产业互联网有哪些
科技美学互联网 艺术
互联网 科技节活动 微视频大赛
花魁咖啡
合肥互联网科技公司
百单互联网科技有限公司
互联网巨头投资的硬核科技
哈尔滨秒房互联网科技有限公司
互联网实体化科技化
玖二柒互联网科技公司待遇
互联网科技博主是什么意思
北京大学互联网科技怎么样
互联网科技中介