生产环境,我们一般使用的是Linux系统,并通过docker部署,下面主要讲解docker的部署流程。

安装Docker环境

# 安装docker
[root@maku ~]# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 启动docker
[root@maku ~]# service docker start

# 查看docker版本信息
[root@maku ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:22 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:43:44 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

安装docker-compose

docker-compose 是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。我们接下来的部署,也会使用到 docker-compose 来管理Docker容器。下面就介绍如何安装,如下所示:

docker-compose的下载路径:https://github.com/docker/compose/releases ,我们这里使用的是版本号为2.5.1,下面是官方提供的安装脚本:

# 下载docker-compose
[root@maku ~]# curl -SL https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

# 添加执行权限
[root@maku ~]# chmod +x /usr/local/bin/docker-compose

# 查看版本信息
[root@maku maku-cloud]# docker-compose version
Docker Compose version v2.5.1

备注:其他安装方式,请参考官方文档,这里就不做介绍了。文档地址:https://docs.docker.com/compose/install/

构建Docker镜像

我们需要通过Dockfile文件,构建docker镜像。构建镜像之前,我们需要把项目里面的【maku-cloud/deploy】文件,上传到服务器里,如:【/work/www/maku-cloud】目录。

[root@maku maku-cloud]# pwd
/work/www/maku-cloud
[root@maku maku-cloud]# ls
app.env  docker-compose.yml  Dockerfile

构建docker镜像,如下所示:

# 构建docker镜像,执行如下命令即可
[root@maku maku-cloud]# docker build -t makunet:1.0 .

# 查看Docker镜像
[root@maku maku-cloud]# docker images
REPOSITORY   TAG         IMAGE ID       CREATED         SIZE
makunet      1.0         8b8bb57aba42   1 days ago      264MB
openjdk      8u212-jre   0fc98012d4a8   2 years ago     246MB

部署项目

  1. 编译打包项目,并把项目jar文件拷贝到【/work/www/maku-cloud】目录

  2. 编辑app.env文件,修改成Nacos对应的信息,如下所示

# Nacos 对应的IP地址
nacos_host=172.17.0.1
nacos_port=8848
# Nacos命名空间,如果使用的为public,则为空
nacos_namespace=
  1. 通过docker-compose命令,启动项目,如下所示:
# 启动项目
[root@maku maku-cloud]# docker-compose up -d

# 查看启动的容器
[root@maku maku-cloud]# docker ps

# 查看启动的logs
[root@maku maku-cloud]# docker logs -f maku-cloud-system

至此,生产环境就部署完成了。