docker 部署springboot项目 + mysql5 + redis

  • 1、CentOS、Red Hat环境Docker安装

  (1)删除旧版本:

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest 
 docker-latest-logrotate docker-logrotate docker-engine

(2)安装依赖包:

 sudo yum install -y yum-utils device-mapper-persistent-data lvm2

 (3)添加docker官方仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(4)启动docker服务 并设置开机自启

 sudo systemctl start docker 
 sudo systemctl enable docker

(5)验证docker是否安装成功

  docker --version
  • 2、安装redis

  (1)拉取redis官方镜像   

docker pull redis

(2)运行Redis容器 并挂载 宿主机 /usr/local/redis/  *** 换成redis密码

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /usr/local/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass ***

  (3)redis.conf配置内容

# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
# bind 127.0.0.1

protected-mode no

port 6379

tcp-backlog 511

requirepass huayin2014

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes

appendfilename "appendonly.aof"

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes
  • 3、安装mysql5

  (1)搜索mysql镜像

docker search mysql

 (2)下载镜像

  docker pull mysql:5.7

(3)运行容器  数据挂载  *** 为密码  注:密码为纯数字时,在springboot项目配置里要用引号引起来

docker run -d -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=*** --name mysql01 mysql:5.7

 (4)登入数据库

docker exec -it 容器id /bin/bash
 mysql -uroot -p***
  • 4、部署springboot项目

  (1)将生成的jar文件放在一个单独的目录中,例如/usr/local/myapp/
  (2)新建Dockerfile文件

touch Dockerfile

(3)编辑Dockerfile文件

vmi Dockerfile

文件写入:

# Docker image for springboot file run
# VERSION 0.0.1
# Author: 
# 基础镜像使用java
FROM openjdk:8
# 作者
MAINTAINER shallwe
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
#VOLUME /tmp 
# 将当前目录下的jar包添加到容器根目录中并更名为app.jar
ADD ./demo.jar /app.jar 
# 运行jar包
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#相当于执行 java -jar /app.jar, 
#-Djava.security.egd=file:/dev/./urandom 是一种安全保障,可以不用。
#使用prod配置文件  ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod","-c"]

  (4)进入文件所在目录,生成镜像 别忘了末尾有个  .

docker build -t java-app:v1.0.0 .

(5)运行镜像   

docker run -p 8088:8088 -d --name mylisten --restart always java-app:v1.0.0

(6)查看日志

 docker logs -f -t --tail 100 [容器id]

参考文献:

Linux 环境Docker安装-腾讯云开发者社区-腾讯云

Docker部署Springboot项目_docker部署spring boot项目-CSDN博客

https://juejin.cn/post/6990181167777464357

Docker部署Springboot项目_docker部署spring boot项目-CSDN博客

docker部署MySQL并同步数据 数据持久化_mysql 容器 数据持久化-CSDN博客

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在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 ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值