Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这期内容当中小编将会给大家带来有关Docker compose部署SpringBoot项目连接MySQL及遇到的坑有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获
千家信息网最后更新 2025年01月16日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安全错误
数据库的锁怎样保障安全
ipad的服务器ip地址查询
广州志腾互联网科技
上海城市队伍管理软件开发
自建服务器多少钱
镇海应用软件开发
ping服务器一般多少速度
云南省招聘网络技术人员信息
微销商城软件开发
软件开发kpi绩效考核模板
饶平高信网络技术有限公司
数据库应用程序有什么
数据库目录遍历漏洞
软件开发面试有几面
system数据库被锁定
信仰吉他谱软件开发
服务器数据安全管理应急预案
缺计算机网络技术人才吗
面试软件开发自我介绍范文
狮山网络安全选哪家
旧服务器怎么保养
外贸服务器和虚拟主机
服务器网络安全检测方案
网络安全边界网关
下列关于服务器的表述中
共筑网络安全分享网络文明手抄报
游戏数据库中card什么意思
聊城计算机软件开发
网络安全如何防御
网络安全党员冬训
软件开发可以作为副业吗