Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这期内容当中小编将会给大家带来有关Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
如何提高服务器的安全
小朋友网络安全宣传片动画
学生缴费系统数据库
计算机网络技术与应用考试
软件开发部经理任命
网络技术微课课题研究
儿童网络安全有哪些内容
部署到集成服务器
网络安全性要求
江苏智能边缘计算服务器供应商
国泰安数据库如何查生产成本
美国网络安全科技公司排名
交个朋友互联网科技
集中观看网络安全宣传片
流媒体数据库三个特点
RF软件开发客户支持
新魔界服务器数据修改
公司oa数据库设计
无线传感网络技术应用领域
苹果自带的浏览器服务器停止了
网络安全海报大赛
深化网络安全防护能力 实战化
手机qq服务器连接失败怎么办
上海远程教育系统开发软件开发
一超四强服务器
安全与网络安全图片
软件开发劳务采购招标书
中兴m900视频会议服务器
如何进入服务器管理ip
网络安全的现实意义