如何通过docker镜像部署springboot项目

如何通过docker镜像部署springboot项目

服务器信息:

经过实测验证过的服务器版本:

服务器 版本 位置
Centos 7.9、8.5 中国大陆、包括港澳台在内的海外服务器

理论上Centos7.x-8.x系统都没问题,但为了更稳妥,建议服务器选择Centos 7.9和Centos 8.5,全球所有地域的服务器均可使用!

第一步:下载服务端源码

DIY模板专区选择喜欢的主题(最低仅¥99)进行下载,活动期间购买主题免费赠送源码!财大气粗的也可以在源码专区(¥199)单独购买😄!

下完单后,登录管理端,依次进入订单管理-订单列表-建站模板订单-详情,看到如下页面,下载源码与模板(后面需要用到)

如何通过docker镜像部署springboot项目

源码目录结构及介绍如下:

如何通过docker镜像部署springboot项目

第二步、通过终端连接服务器

终端推荐使用FinalShell,支持所有操作系统,直接浏览器搜索下载即可!下方是Finalshell登录服务器的步骤示例图,大家也可以使用其他的远程连接工具,使用方法类似!

如何通过docker镜像部署springboot项目

点击确定后,即可进入服务器的命令行模式,类似于普通电脑通过CMD命令进入的命令行模式!只不过通过Finalshell输入命令操作的是服务器的环境。首先我们通过以下命令,进入到home目录中

cd /home

如何通过docker镜像部署springboot项目

第二步:安装Docker以及docker-compose(注:如果购买服务器时已经预装了docker环境,这一步骤可以省略!!!)

将下方命令全部一次性复制到命令行中,点击回车按键,静静等待执行,在出现下图提示之前,切记不要干预命令的执行(大概需要一到两分钟,跟服务器的带宽及配置有关):

sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine && \
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 && \
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && \
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \
sudo systemctl start docker && \
sudo systemctl enable docker

如何通过docker镜像部署springboot项目

如上图,说明安装成功!

注:如果是大陆的服务器,请务必执行如下命令,非大陆服务器可以忽略!!!

sudo cp -n /etc/docker/daemon.json /etc/docker/daemon.json.bak 2>/dev/null; echo '{"registry-mirrors": ["https://docker.1ms.run", "https://docker-0.unsee.tech", "https://docker.xuanyuan.me", "https://docker.m.daocloud.io"]}' | sudo tee /etc/docker/daemon.json > /dev/null; sudo systemctl daemon-reload && sudo systemctl restart docker

第三步:上传项目以及镜像配置文件到服务器

将第一步下载的源码包文件解压缩,做如下操作:

  1. 【重点!先改数据库密码,不然可能会造成数据泄露】

    • 打开源码包里的 docker-compose.yml 文件,全局搜索 tzw739879508 ,然后统一替换为新的密码(一共有两处修改,修改成一样的值即可),新密码尽量复杂(10位以上,包含数字、大写字母、小写字母,不要中文!!!

  2. 绑定自己的域名(如果有域名的话可以在这步骤操作。没有域名也没关系,第六步有介绍如何在上线以后绑定域名)

    • 打开源码包里 nginx/config/nginx.conf 文件,把文件里所有的 test.com 全局替换成你自己的域名。之后给域名做 DNS 解析(指向服务器 IP),就能用域名直接访问网站了~

  3. 上传源码包到服务器

    • 把第一步下载的源码包里面所有文件(除了帮助、部署说明.txt),上传(或用支持拖拽的 Shell 客户端拖过去)到服务器的 home 目录,如下图


如何通过docker镜像部署springboot项目

第四步:上线项目

全部一次性粘贴如下命令到服务器的命令行中,按enter(回车键),静静等待项目的构建与启动....。在出现下方部署完成提示之前,全程无需任何操作,如果想看启动日志,构建完成以后可以通过 docker compose logs 命令查看日志

echo "开始清理环境..." && \
docker compose down --rmi all -v && \
echo "重新构建镜像..." && \
docker compose build --no-cache && \
echo "启动服务..." && \
docker compose up -d && \
echo "部署完成!"

如何通过docker镜像部署springboot项目

第五步:查看结果

执行完后,通过如下命令列出所有活动中的镜像

docker compose ps

如何通过docker镜像部署springboot项目

此时,你的服务器中已经拥有了:Redis3.2.12、Mysql 5.7.28、Nginx1.18.01服务以及jdk1.8的java环境,到这里说明项目已经部署成功了!

现在你可以直接通过你的(服务器公网ip)访问你的网站,如果已经配置了域名,这里也可以直接通过域名直接访问网站。

不过现在的网站还没有数据(网站信息、新闻资讯等内容都还没有),你需要通过登录后台管理系统设置网站信息:

后台管理的地址为:服务器公网ip(或你的域名)/index/home

默认用户名:admin

默认密码:tzw123456

注:为了网站安全,登录后,请第一时间更新密码

恭喜你💐:到目前为止,全世界的网民都可以在浏览器中直接访问你的网站了!

第六步:常见问题及解答

Q:网站上线后,如何修改域名?

A:进入服务器的/home/nginx/config目录,打开ngnix.conf文件,将里面的“老域名”全部替换为“新的域名”,保存文件!然后在命令行输入:cd /home,接着执行下面命令即可!

docker exec -it nginx nginx -s reload

Q:如何更新系统?

A:可以持续关注:SpringBoot实现的博客系统与企业站通用源码,有新版本发布后可免费下载更新,步骤也很简单,只需要将下载后文件中的springboot.jar放入服务器的/home目录中替换原有文件,然后在命令行输入:cd /home,接着执行下面命令即可!

docker compose stop app && \
docker compose up --build -d app

执行完以后即可完成版本升级!

总结: 

    乍一看步骤挺多,其实超简单。我是为了让新手更容易理解才把步骤细化的。你按照上面提供的命令一条一条傻瓜式的执行就完事了。其实熟悉后总结起来就两步,一、安装docker环境,二、上传并运行源码。完事!

    后期如果如果想对Redis或者Nginx配置文件进行更新,直接在/home目录下找到对应的文件修改就可以了

完整视频介绍:查看视频教程