Docker部署springboot+MySQL+redis

Docker部署springboot+MySQL+redis

1、安装启动Docker

参考博客:https://apad.pro/centos7-docker/

systemctl start docker
systemctl enable docker

2、创建自定义网络

docker 默认是使用bridge,容器每次启动,IP都会发生变动,不利于维护管理, 172.17.0.0/16 是docker默认网段。
这里我们使用一个其他网段。

docker network create --driver bridge --subnet 172.168.0.0/24 --gateway 172.168.0.1 your_network

3、创建容器

3.1 启动mysql容器

拉取mysql镜像

docker pull mysql:5.7

创建并运行容器,{password}root密码,--network your_network --ip 172.168.0.2 使用之前创建的网络, 172.168.0.1是网关

docker run --name mysql57 -p 3306:3306  -e MYSQL_ROOT_PASSWORD={password} --network your_network --ip 172.168.0.2  -d mysql:5.7

3.2 启动redis容器

拉取redis镜像

docker pull redis

启动redis

docker run -p 6379:6379 --network your_network --ip 172.168.0.5 --name redis -v /root/redis/redis.conf:/etc/redis/redis.conf -v /root/redis/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
  • /root/redis/redis.conf 中daemonize=NO。非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出。
  • -v /root/redis/data:/data 容器 /data 映射到宿主机 /root/redis/data
  • -d redis 后台模式启动 redis
  • redis-server /etc/redis/redis.conf redis 将以 /etc/redis/redis.conf 为配置文件启动
  • –appendonly yes 开启redis 持久化

3.3 启动后端容器

创建maven工程,导入源码,更改配置文件

打包项目,jar打包在target文件夹下,main-1.0.jar

mvn clean package

在需要部署的jar包的同级目录下,创建Dockerfile,内容如下

FROM openjdk:8
ADD main-1.0.jar /main.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/data/your_dir/main.jar"]

执行镜像构建命令

docker build -t your_img:1.0 .
docker build --no-cache  -t your_img:1.0 .
【第二条是不用缓存构建】

镜像名随意,注意最后有一个点

注意:需要在Dockerfile目录下执行, .表示在当前目录,也可指定目录。
可通过 docker images查看刚刚构建的镜像
启动后端容器

docker run --name your_container -p 8080:8080 --network your_network --ip 172.168.0.3 -d your_img:1.0 --privileged=true

浏览器访问:xxxx/xxx(这里是你的借口地址)

即可预览效果

4、其他常用操作

查看运行容器、删除容器

docker ps -a
docker container rm 容器id

查看镜像、删除镜像

docker images
docker rmi 镜像id
注意镜像如果被容器使用,需要先删除容器后才可以删除镜像

查看容器的日志地址

docker inspect --format '{{.LogPath}}' 容器id

然后通过cat命令查看上述命令找到的日志地址

停止和重启容器

docker stop your_container
docker restart your_container

maven分环境打包镜像

yml多环境配置:https://juejin.cn/post/6844904050324930574
mvn clean package -P prod

docker部署springboot项目(更新无需重新build)

重点就是编辑Dockerfile时使指定决定路径
参考 https://blog.csdn.net/qq_40298902/article/details/126334098

5、参考博客:

https://blog.22xcode.com/post/12
https://github.com/MQPearth/Blog

yml多环境配置:https://juejin.cn/post/6844904050324930574
(注意pom里的文件是放在main模块下,即config所在的模块下)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统上打包和部署springboot+vue项目的步骤如下: 1. 首先,你需要拉取git仓库的代码。复制git仓库的地址,并在Linux系统中使用命令拉取代码。\[1\] 2. 接下来,你需要打包Java项目。进入项目的目录,执行打包命令,生成一个jar包。你可以使用命令`java -jar springboot-affair-0.0.1-SNAPSHOT.jar`来运行打包好的Java项目。\[3\] 3. 然后,你需要部署前端vue项目。同样进入项目的目录,执行打包命令,生成前端的静态文件。将生成的静态文件部署到Nginx服务器上。 4. 在部署之前,确保Nginx、MySQLRedis和MinIO已经启动。你可以使用相应的命令来启动这些服务。 5. 最后,访问你的项目。通过浏览器访问Nginx服务器的地址,即可查看部署好的springboot+vue项目。 总结起来,你需要拉取代码,打包Java项目,部署前端项目,启动Nginx、MySQLRedis和MinIO,然后访问项目即可。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Linux——在Linux系统上打包和部署springboot+vue项目,nginx+mysql+redis+minio](https://blog.csdn.net/weixin_56039103/article/details/126173205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用docker部署springboot+vue项目](https://blog.csdn.net/Ruhoney908/article/details/131024801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值