# 部署运行
# Docker Compose
# 安装Docker和Docker Compose
安装Docker
# 使用daocloud 的一键安装脚本
curl -sSL https://get.daocloud.io/docker | sh
# 安装 daocloud 加速器,避免dockerhub 网络问题
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# 启动docker服务
systemctl start docker
# 测试运行 hello-world,由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
docker run hello-world
# 查看Docker版本
docker --version
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
安装Docker Compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
1
2
2
# 配置私有镜像仓库
目前MapGIS Boot已上传到私有镜像仓库192.168.177.1:5000,需要配置Docker
# 编辑
vi /etc/docker/daemon.json
# 添加私有仓库地址
{
"registry-mirrors": ["加速地址"],
"insecure-registries": ["192.168.177.1:5000"]
}
# 生效
systemctl daemon-reload
systemctl restart docker
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 单体版
提供部署脚本docker-compose.yml (opens new window)和环境变量设置脚本.env (opens new window),将他们上传到服务器同一目录下
# 调整.env
环境变量
- 如果需要从指定私有仓库或者公网仓库获取镜像,则必须指定DOCKER_REGISTRY_URL,比如
192.168.177.1:5000/
# 私有镜像仓库地址,注意结尾需含/,默认为空
DOCKER_REGISTRY_URL=
# 镜像标签
MAPGIS_IMAGE_TAG=1.0
# 应用端口
MAPGIS_APP_PORT=8080
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 启动运行
# 进入到存放docker-compose.yml目录并执行赋予执行权限
chmod +x docker-compose.yml
# 创建并启动
docker-compose up -d
# 查看运行中的容器
docker ps
# 停止并删除
docker-compose down
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 访问应用
http://{DOCKER_HOST_IP}:{MAPGIS_APP_PORT} (opens new window)
{DOCKER_HOST_IP}为Docker宿主机的IP,{MAPGIS_APP_PORT}为应用端口
# 微服务版
提供部署脚本docker-compose.yml (opens new window)和环境变量设置脚本.env (opens new window),将他们上传到服务器同一目录下
# 调整.env
环境变量
- 如果需要从指定私有仓库或者公网仓库获取镜像,则必须指定DOCKER_REGISTRY_URL,比如
192.168.177.1:5000/
- GATEWAY_PUBLIC_HOST建议填写为Docker宿主机IP
# 私有镜像仓库地址,注意结尾需含/,默认为空
DOCKER_REGISTRY_URL=
# 镜像标签
MAPGIS_IMAGE_TAG=1.0
# NACOS主机(用于微服务之间通信,一般不需要修改)
NACOS_HOST=mapgis-xxx-nacos
# NACOS端口(内部端口,用于微服务之间通信,一般不需要修改)
NACOS_PORT=8848
# 网关主机(用于微服务之间通信,一般不需要修改)
GATEWAY_HOST=mapgis-xxx-gateway
# 网关主机(外部主机,用于Swagger在线文档,需要外部能访问,如不能访问,请设置成Docker宿主机IP)
GATEWAY_PUBLIC_HOST=
# 网关端口(外部端口,用于应用入口和Swagger在线文档)
GATEWAY_PUBLIC_PORT=8080
# Redis主机(用于微服务之间通信,一般不需要修改)
REDIS_HOST=mapgis-xxx-redis
# Redis端口(内部端口,用于微服务之间通信,一般不需要修改)
REDIS_PORT=6379
# Redis密码(可修改)
REDIS_PWD=cloud123.mapgis
# MySQL主机(用于微服务之间通信,一般不需要修改)
MYSQL_HOST=mapgis-xxx-mysql
# MySQL端口(内部端口,用于微服务之间通信,一般不需要修改)
MYSQL_PORT=3306
# MySQL数据库名(默认由容器创建,一般不需要修改)
MYSQL_DB=mapgis-cloud-xxx
# MySQL配置中心数据库名(由配置中心sql脚本自动创建,一般不需要修改)
MYSQL_CONFIG_DB=mapgis-cloud-config
# MySQL用户名
MYSQL_USER=root
# MySQL密码(可修改)
MYSQL_PWD=cloud123.mapgis
# MONITOR端口(外部端口,用于Spring Boot应用监控,需要外部能访问)
MONITOR_PUBLIC_PORT=9200
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 启动运行
# 进入到存放docker-compose.yml目录并执行赋予执行权限
chmod +x docker-compose.yml
# 创建并启动
docker-compose up -d
# 查看运行中的容器
docker ps
# 停止并删除
docker-compose down
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 访问应用
http://{DOCKER_HOST_IP}:{GATEWAY_PUBLIC_PORT} (opens new window)
{DOCKER_HOST_IP}为Docker宿主机的IP,{GATEWAY_PUBLIC_PORT}为应用端口