生产环境,我们一般使用的是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
部署项目
-
编译打包项目,并把项目jar文件拷贝到【/work/www/maku-cloud】目录
-
编辑pom.xml文件,修改成Nacos对应的信息,如下所示
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 开发环境 -->
<profile.name>dev</profile.name>
<nacos.server-addr>127.0.0.1:8848</nacos.server-addr>
<nacos.namespace></nacos.namespace>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<!-- 测试环境,打包命令:mvn clean install -Ptest -->
<profile.name>test</profile.name>
<nacos.server-addr>172.17.0.1:8848</nacos.server-addr>
<nacos.namespace></nacos.namespace>
<nacos.username></nacos.username>
<nacos.password></nacos.password>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<!-- 生产环境,打包命令:mvn clean install -Pprod -->
<profile.name>prod</profile.name>
<nacos.server-addr>172.17.0.1:8848</nacos.server-addr>
<nacos.namespace></nacos.namespace>
<nacos.username></nacos.username>
<nacos.password></nacos.password>
</properties>
</profile>
</profiles>
- 通过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
至此,生产环境就部署完成了。