MDM部署手册

记录使用AWS环境部署MDM系统过程

处理Docker Image

点击展开
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# 登录阿里云Docker私服
docker login -u leezyu -p **** registry.cn-hangzhou.aliyuncs.com

# 拉取需要的docker iamge
# eureka
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appeureka:9.0.17.1
# zuul
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appzuul:9.0.17.1
# 基础平台
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appcore:9.0.17.1
# 监控平台
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appadmin:9.0.17.1
# 前端资源包
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appmdmui:9.0.17.1
# 静态资源包+nginx
docker pull registry.cn-hangzhou.aliyuncs.com/sw/apphome:9.0.17.1
# 工作流引擎
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appbpm:9.0.17.1
# 编码引擎
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appengine:9.0.17.1
# 数据标准平台
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appmodule:9.0.17.1
# 数据全生命周期平台
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appcode:9.0.17.1
# 数据查询
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appquery:9.0.17.1
# 数据交换
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appesb:9.0.17.1
# 数据可视化
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appmdmdc:9.0.17.1
# 数据质量+清洗
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appclean:9.0.17.1
# 任务调度
docker pull registry.cn-hangzhou.aliyuncs.com/sw/apptask:9.0.17.1
# 数据分析
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appreport:9.0.17.1
# 管理控制台
docker pull registry.cn-hangzhou.aliyuncs.com/sw/appconsole:9.0.17.1
# Apollo
docker pull registry.cn-hangzhou.aliyuncs.com/sw/apollo-all:2.0.2
# Apollo Admin
docker pull registry.cn-hangzhou.aliyuncs.com/sw/apolloadmin:1.5.0
# Apollo Config
docker pull registry.cn-hangzhou.aliyuncs.com/sw/apolloconfig:1.5.0
# Apollo Portal
docker pull registry.cn-hangzhou.aliyuncs.com/sw/apolloportal:1.5.0



NEXUS=nexus.goldwind.com.cn:8080
# 登录Nexus私服
docker login -u deploy -p 9ol.8ik, ${NEXUS}

# 将上述image重新标记到Nexus私服
ENV=test
PROJECT=master_data_management
# eureka
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appeureka:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appeureka:9.0.17.1
# zuul
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appzuul:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appzuul:9.0.17.1
# 基础平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appcore:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appcore:9.0.17.1
# 监控平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appadmin:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appadmin:9.0.17.1
# 前端资源包
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appmdmui:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appmdmui:9.0.17.1
# 静态资源包+nginx
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apphome:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/apphome:9.0.17.1
# 工作流引擎
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appbpm:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appbpm:9.0.17.1
# 编码引擎
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appengine:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appengine:9.0.17.1
# 数据标准平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appmodule:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appmodule:9.0.17.1
# 数据全生命周期平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appcode:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appcode:9.0.17.1
# 数据查询
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appquery:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appquery:9.0.17.1
# 数据交换
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appesb:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appesb:9.0.17.1
# 数据可视化
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appmdmdc:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appmdmdc:9.0.17.1
# 数据质量+清洗
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appclean:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appclean:9.0.17.1
# 任务调度
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apptask:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/apptask:9.0.17.1
# 数据分析
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appreport:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appreport:9.0.17.1
# 管理控制台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appconsole:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appconsole:9.0.17.1
# Apollo
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apollo-all:2.0.2 ${NEXUS}/${PROJECT}/${ENV}/apollo-all:2.0.2
# Apollo Admin
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apolloadmin:1.5.0 ${NEXUS}/${PROJECT}/${ENV}/apolloadmin:1.5.0
# Apollo Config
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apolloconfig:1.5.0 ${NEXUS}/${PROJECT}/${ENV}/apolloconfig:1.5.0
# Apollo Portal
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apolloportal:1.5.0 ${NEXUS}/${PROJECT}/${ENV}/apolloportal:1.5.0

# 推送镜像
# eureka
docker push ${NEXUS}/${PROJECT}/${ENV}/appeureka:9.0.17.1
# zuul
docker push ${NEXUS}/${PROJECT}/${ENV}/appzuul:9.0.17.1
# 基础平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appcore:9.0.17.1
# 监控平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appadmin:9.0.17.1
# 前端资源包
docker push ${NEXUS}/${PROJECT}/${ENV}/appmdmui:9.0.17.1
# 静态资源包+nginx
docker push ${NEXUS}/${PROJECT}/${ENV}/apphome:9.0.17.1
# 工作流引擎
docker push ${NEXUS}/${PROJECT}/${ENV}/appbpm:9.0.17.1
# 编码引擎
docker push ${NEXUS}/${PROJECT}/${ENV}/appengine:9.0.17.1
# 数据标准平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appmodule:9.0.17.1
# 数据全生命周期平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appcode:9.0.17.1
# 数据查询
docker push ${NEXUS}/${PROJECT}/${ENV}/appquery:9.0.17.1
# 数据交换
docker push ${NEXUS}/${PROJECT}/${ENV}/appesb:9.0.17.1
# 数据可视化
docker push ${NEXUS}/${PROJECT}/${ENV}/appmdmdc:9.0.17.1
# 数据质量+清洗
docker push ${NEXUS}/${PROJECT}/${ENV}/appclean:9.0.17.1
# 任务调度
docker push ${NEXUS}/${PROJECT}/${ENV}/apptask:9.0.17.1
# 数据分析
docker push ${NEXUS}/${PROJECT}/${ENV}/appreport:9.0.17.1
# 管理控制台
docker push ${NEXUS}/${PROJECT}/${ENV}/appconsole:9.0.17.1
# Apollo
docker push ${NEXUS}/${PROJECT}/${ENV}/apollo-all:2.0.2
# Apollo Admin
docker push ${NEXUS}/${PROJECT}/${ENV}/apolloadmin:1.5.0
# Apollo Config
docker push ${NEXUS}/${PROJECT}/${ENV}/apolloconfig:1.5.0
# Apollo Portal
docker push ${NEXUS}/${PROJECT}/${ENV}/apolloportal:1.5.0

# 将上述image重新标记到Nexus私服, 版本指定为latest
# eureka
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appeureka:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appeureka:latest
# zuul
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appzuul:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appzuul:latest
# 基础平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appcore:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appcore:latest
# 监控平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appadmin:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appadmin:latest
# 前端资源包
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appmdmui:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appmdmui:latest
# 静态资源包+nginx
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apphome:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/apphome:latest
# 工作流引擎
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appbpm:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appbpm:latest
# 编码引擎
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appengine:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appengine:latest
# 数据标准平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appmodule:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appmodule:latest
# 数据全生命周期平台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appcode:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appcode:latest
# 数据查询
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appquery:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appquery:latest
# 数据交换
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appesb:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appesb:latest
# 数据可视化
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appmdmdc:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appmdmdc:latest
# 数据质量+清洗
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appclean:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appclean:latest
# 任务调度
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apptask:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/apptask:latest
# 数据分析
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appreport:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appreport:latest
# 管理控制台
docker tag registry.cn-hangzhou.aliyuncs.com/sw/appconsole:9.0.17.1 ${NEXUS}/${PROJECT}/${ENV}/appconsole:latest
# Apollo
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apollo-all:2.0.2 ${NEXUS}/${PROJECT}/${ENV}/apollo-all:latest
# Apollo Admin
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apolloadmin:1.5.0 ${NEXUS}/${PROJECT}/${ENV}/apolloadmin:latest
# Apollo Config
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apolloconfig:1.5.0 ${NEXUS}/${PROJECT}/${ENV}/apolloconfig:latest
# Apollo Portal
docker tag registry.cn-hangzhou.aliyuncs.com/sw/apolloportal:1.5.0 ${NEXUS}/${PROJECT}/${ENV}/apolloportal:latest

# 推送镜像
# eureka
docker push ${NEXUS}/${PROJECT}/${ENV}/appeureka:latest
# zuul
docker push ${NEXUS}/${PROJECT}/${ENV}/appzuul:latest
# 基础平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appcore:latest
# 监控平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appadmin:latest
# 前端资源包
docker push ${NEXUS}/${PROJECT}/${ENV}/appmdmui:latest
# 静态资源包+nginx
docker push ${NEXUS}/${PROJECT}/${ENV}/apphome:latest
# 工作流引擎
docker push ${NEXUS}/${PROJECT}/${ENV}/appbpm:latest
# 编码引擎
docker push ${NEXUS}/${PROJECT}/${ENV}/appengine:latest
# 数据标准平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appmodule:latest
# 数据全生命周期平台
docker push ${NEXUS}/${PROJECT}/${ENV}/appcode:latest
# 数据查询
docker push ${NEXUS}/${PROJECT}/${ENV}/appquery:latest
# 数据交换
docker push ${NEXUS}/${PROJECT}/${ENV}/appesb:latest
# 数据可视化
docker push ${NEXUS}/${PROJECT}/${ENV}/appmdmdc:latest
# 数据质量+清洗
docker push ${NEXUS}/${PROJECT}/${ENV}/appclean:latest
# 任务调度
docker push ${NEXUS}/${PROJECT}/${ENV}/apptask:latest
# 数据分析
docker push ${NEXUS}/${PROJECT}/${ENV}/appreport:latest
# 管理控制台
docker push ${NEXUS}/${PROJECT}/${ENV}/appconsole:latest
# Apollo
docker push ${NEXUS}/${PROJECT}/${ENV}/apollo-all:latest
# Apollo Admin
docker push ${NEXUS}/${PROJECT}/${ENV}/apolloadmin:latest
# Apollo Config
docker push ${NEXUS}/${PROJECT}/${ENV}/apolloconfig:latest
# Apollo Portal
docker push ${NEXUS}/${PROJECT}/${ENV}/apolloportal:latest

创建RDS

  1. 创建RDS参数组

    参数名称 备注
    tx_isolation READ-COMMITTED 事务的隔离级别:读取提交的数据
    lower_case_table_names 1 此参数不可以动态修改,必须重启数据库。1:表名存储在磁盘是小写的,但是比较的时候是不区分大小写;0:表名存储为给定的大小和比较是区分大小写的;2:表名存储为给定的大小写但是比较的时候是小写的
    character_set_client utf8mb4 客户端默认字符集
    character_set_connection utf8mb4 连接默认字符集
    character_set_database utf8mb4 数据库默认字符集
    character_set_filesystem utf8mb4 系统默认字符集
    character_set_results utf8mb4 结果默认字符集
    character_set_server utf8mb4 服务器默认字符集
    init_connect SET collation_connection = utf8mb4_bin 配置mysql的字符集默认排序规则,mysql默认对varchar、text是不区分大小写的,需要添加这个配置后 才会区分大小写
    log_bin_trust_function_creators 1
    binlog_format row 按照范世卿要求, 需要支持binlog模式, 所以需要打开这个参数
  2. 创建RDS

    版本: 5.7.x

    模板: 生产

    实例标识符: test-mdm

    主用户名: a_admin

    主密码: ***

    数据库实例: t3.medium

    存储: 20G

    <请勿创建备用实例>

    确认VPC, 子网组, 安全组

    其他配置: 确认参数组

  3. 连接RDS, 创建数据库及用户

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 创建数据库, 字符集默认必须是utf8mb4及utf8mb4_general_ci
    CREATE DATABASE IF NOT EXISTS mdm DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE DATABASE IF NOT EXISTS apolloportaldb DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE DATABASE IF NOT EXISTS apolloconfigdb DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

    # 创建用户设置默认密码并授权
    CREATE USER 'mdm'@'%' IDENTIFIED BY '****';
    GRANT ALL ON mdm.* TO 'mdm'@'%';
    GRANT ALL ON apolloportaldb.* TO 'mdm'@'%';
    GRANT ALL ON apolloconfigdb.* TO 'mdm'@'%';
    FLUSH PRIVILEGES;
  4. 执行初始化SQL

    1
    2
    3
    4
    5
    6
    mysql -h test-mdm.cmwyyp2qd6fi.rds.cn-northwest-1.amazonaws.com.cn -u a_admin -p*** -D mdm < init_9.0.17.1.sql
    # 或者
    mysql -h test-mdm.cmwyyp2qd6fi.rds.cn-northwest-1.amazonaws.com.cn -u a_admin -p***
    # 登录后, 执行
    USE mdm;
    source /root/init_9.0.17.1.sql;
    init_9.0.17.1.sql
  5. 执行初始化Apollo的SQL

    1
    2
    mysql -h test-mdm.cmwyyp2qd6fi.rds.cn-northwest-1.amazonaws.com.cn -u a_admin -p*** -D apolloconfigdb < apolloconfigdb.sql
    mysql -h test-mdm.cmwyyp2qd6fi.rds.cn-northwest-1.amazonaws.com.cn -u a_admin -p*** -D apolloportaldb < apolloportaldb.sql
    apolloconfigdb.sql apolloportaldb.sql

创建Redis (AWS Elasticache)

测试环境使用Docker容器替代

1
docker run -d --name redis -v /opt/redis:/data -p 6379:6379 redis redis-server --appendonly yes

创建ELK (AWS ES)

测试环境:

创建一个基于VPC认证的公开访问ES即可

创建EC2 (仅用于测试环境)

部署一台m5.xlarge的EC2用于测试环境, 执行初始化脚本

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
sudo su -
yum update -y
USER="appadmin"
CFG="/etc/ssh/sshd_config"
PASS=$(openssl rand -hex 16)
IP=$(ip a|grep inet| grep 10\.| awk '{print $2}'|awk -F '/' '{print $1}')
useradd ${USER}
sed -E -i 's/^#?( ?)*PasswordAuthentication.*$/PasswordAuthentication yes/' ${CFG}
systemctl restart sshd
echo ${PASS} | passwd ${USER} --stdin
echo "${USER} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${USER}
# 配置默认AWS客户端信息
cat << EOF > /tmp/aws.command


cn-north-1
json
EOF
aws configure < /tmp/aws.command

# 安装Docker服务
yum install -y docker
systemctl enable docker
cat << EOF > /etc/docker/daemon.json
{
"insecure-registries": [
"10.32.26.254:8082",
"10.32.26.254:8088",
"10.32.90.208:8080",
"nexus.goldwind.com.cn:8080",
"nexus.goldwind.com.cn:9000"
],
"registry-mirrors": ["http://nexus.goldwind.com.cn:9000"]
}
EOF
systemctl restart docker

# 安装dhclient服务
yum install -y dhclient
# 添加本地DNS到默认配置
echo "supersede domain-name-servers 10.1.0.1;" >> /etc/dhcp/dhclient.conf
# 修改eth0默认配置
CFG="/etc/sysconfig/network-scripts/ifcfg-eth0"
cp ${CFG} ${CFG}.bak
if grep "PEERDNS" ${CFG};then sed -E -i "s/^#?( ?)*PEERDNS=.*$/PEERDNS=yes/" ${CFG}; else echo "PEERDNS=yes" >> ${CFG};fi
# 重启网络服务
systemctl restart network

# 开启IP转发功能
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

# 如需挂载额外磁盘, 执行如下命令
DISK="/dev/nvme1n1"
cat << EOF > /tmp/fdisk.command
g
n



w
q
EOF
fdisk /dev/nvme1n1 < /tmp/fdisk.command
partprobe
mkfs.ext4 ${DISK}p1
P_UUID=$(blkid |grep "${DISK}p1"| awk '{print $2}')
mkdir -p /data
echo "${P_UUID} /data ext4 defaults,noatime 1 1" >> /etc/fstab
mount -a

cat << EOF
初始化完毕, 连接信息:
ssh ${USER}@${IP}
${PASS}
EOF

执行容器启动命令

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
# 登录私服
docker login -u deploy -p ***** nexus.goldwind.com.cn:8080

# 设置环境
PROJECT=master_data_management
ENV=test
IP=$(ip a|grep inet| grep 10\.| awk '{print $2}'|awk -F '/' '{print $1}')
MYSQL=test-mdm.cmwyyp2qd6fi.rds.cn-northwest-1.amazonaws.com.cn
MYSQL_USER=mdm
MYSQL_PASS=***

# 部署appeureka
docker run -it -d --restart always -p 8761:8761 \
-e eureka.server.peer-node-read-timeout-ms=1000 \
-e eureka.server.peer-node-connect-timeout-ms=1000 \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appeureka:9.0.17.1

# 部署 apollo
mkdir -p /opt/logs
docker run -d --restart always --privileged \
-e PORTAL_DB=jdbc:mysql://$MYSQL:3306/apolloportaldb?characterEncoding=utf8 \
-e PORTAL_DB_USER=$MYSQL_USER \
-e PORTAL_DB_PWD=$MYSQL_PASS \
-e DEV_DB=jdbc:mysql://$MYSQL:3306/apolloconfigdb?characterEncoding=utf8 \
-e DEV_DB_USER=$MYSQL_USER \
-e DEV_DB_PWD=$MYSQL_PASS \
-e JAVA_OPTS=-Deureka.instance.ip-address=$IP \
-e DEV_CONFIG_PORT=8847 \
-e DEV_ADMIN_PORT=8090 \
-e ENABLE_INIT_DB=true \
-p 8847:8847 \
-p 8070:8070 \
-p 8090:8090 \
-v /opt/logs:/opt/logs \
-it nexus.goldwind.com.cn:8080/$PROJECT/$ENV/apollo-all:2.0.2

修改Apollo配置

点击展开
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
logstash.host = 172.16.30.7:4560
logstash.logindex = mdmlog
endpoints.logfile.enabled = true
endpoints.logfile.sensitive = true
logging.file = /opt/logs/${spring.application.name}.log
logging.archive = ${logging.file}-%d{yyyy-MM-dd}
logging.pattern = [%boldBlue(%d{yyyy-MM-dd HH:mm:ss.SSS})][%yellow(${spring.application.name:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-})] [%X{usercode}/%X{clientIP}/%X{requestUrl}] [%thread] [%highlight(%-5level)] [%cyan(%logger{50}.%M\(%F:%L\))] : %msg%n
logging.total = 5GB
logging.history = 7
logging.level.springfox.documentation.spring.web = OFF
logging.pattern.console = ${logging.pattern}
logging.pattern.file = ${logging.pattern}
#SQL打印样式:1表示参数和sql拼接好;2表示sql打印?占位符,同时打印参数列表;3表示sql打印?占位符,但是不打印参数列表
sql.style = 3
#打印controller请求日志
sunway.controllerlog.open = true
#根据数据库类型加载mybatis的 sql xml
sql.load.dbtype = true

## 数据库配置 MySQL
jdbc.type = MySQL
jdbc.driverClassName = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://test-mdm.cmwyyp2qd6fi.rds.cn-northwest-1.amazonaws.com.cn:3306/mdm?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
jdbc.username = mdm
jdbc.password = ***
jdbc.validationQuery = select 1

jdbc2.type = MySQL
jdbc2.driverClassName = com.mysql.jdbc.Driver
jdbc2.url = jdbc:mysql://test-mdm.cmwyyp2qd6fi.rds.cn-northwest-1.amazonaws.com.cn:3306/mdm?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
jdbc2.username = mdm
jdbc2.password = ***
jdbc2.validationQuery = select 1

jdbc.filters = stat,slf4j,config
jdbc.maxActive = 20
jdbc.initialSize = 1
jdbc.maxWait = 60000
jdbc.minIdle = 1
jdbc.timeBetweenEvictionRunsMillis = 600000
jdbc.minEvictableIdleTimeMillis = 300000
jdbc.testWhileIdle = true
jdbc.testOnBorrow = false
jdbc.testOnReturn = false
jdbc.poolPreparedStatements = true
jdbc.maxOpenPreparedStatements = 20
jdbc.asyncInit = true
jdbc.removeAbandoned = true

##Spring线程池配置
spring.thread.pool.minPoolSize = 10
spring.thread.pool.maxPoolSize = 3000
spring.thread.pool.queueCapacity = 5
spring.thread.pool.keepAliveSeconds = 15
spring.thread.pool.policy = 3

### Redis三种模式支持 sentinel(哨兵)/single(单节点)/cluster(集群)
spring.redis.database = 0
spring.redis.password =
spring.redis.mode = single
sunway.redis.countHotKey = false

### redis客户端\redisson客户端连接池通用配置
#redis(非single模式) 官方默认8 \ redisson(single模式)最大连接数 官方默认64 这里进行统一设置
spring.redis.pool.size = 1000
#redis(非single模式)最大空闲 官方默认8
spring.redis.pool.max-idle = 16
#redis(非single模式) 官方默认0 \ redisson(single模式)最小空闲 官方默认24 这里进行统一设置
spring.redis.pool.min-idle = 8
#redisson连接超时 官方默认10000
spring.redis.pool.conn-timeout = 10000
#redisson读取超时 官方默认 3000
spring.redis.pool.read-timeout = 5000
#redisson-Netty线程数 官方默认32
spring.redis.pool.netty-threads = 24
#redisson从节点发布和订阅连接池大小 官方默认50
spring.redis.pool.subscription-connection-pool-size = 100
#redisson单个连接最大订阅数量 官方默认5
spring.redis.pool.subscriptions-per-connection = 10

#### 单机配置
spring.redis.single.address = 10.35.58.185:6379

#### 哨兵配置
spring.redis.sentinel.master = mymaster
spring.redis.sentinel.nodes = 192.168.1.27:26379,192.168.1.28:26379,192.168.1.29:26379
spring.redis.sentinel.read-mode = SLAVE
#从节点连接池大小 官方默认64
spring.redis.sentinel.slave-connection-pool-size = 64
#主节点连接池大小 官方默认64
spring.redis.sentinel.master-connection-pool-size = 64
#从节点最小空闲连接数 官方默认24
spring.redis.sentinel.slave-connection-minimum-idle-size = 8
#主节点最小空闲连接数 官方默认24
spring.redis.sentinel.master-connection-minimum-idle-size = 8
spring.redis.sentinel.retryAttempts = 3
spring.redis.sentinel.retryInterval = 1500
spring.redis.sentinel.master-onlyWrite = true
spring.redis.sentinel.fail-max = 3

#### cluster集群配置
spring.redis.cluster.nodes = 172.16.30.11:6379,172.16.30.11:6380,172.16.30.12:6381,172.16.30.12:6382,172.16.30.13:6383,172.16.30.13:6384
spring.redis.cluster.read-mode = SLAVE
#从节点连接池大小 官方默认64
spring.redis.cluster.slave-connection-pool-size = 64
#主节点连接池大小 官方默认64
spring.redis.cluster.master-connection-pool-size = 64
#从节点最小空闲连接数 官方默认24
spring.redis.cluster.slave-connection-minimum-idle-size = 8
#主节点最小空闲连接数 官方默认24
spring.redis.cluster.master-connection-minimum-idle-size = 8
spring.redis.cluster.retryAttempts = 3
spring.redis.cluster.retryInterval = 1500
spring.redis.cluster.scanInterval = 5000

## 激活配置研发提供为准
spring.profiles.active = default,redis
### 下载文件大小
spring.servlet.multipart.maxFileSize = 100MB
spring.servlet.multipart.maxRequestSize = 100MB
### Ajax请求body大小限制规避因body太大springBoot后台无法接收问题
server.tomcat.max-http-post-size = -1

## 注册中心集群地址配置
eureka.client.serviceUrl.defaultZone = http://10.35.58.185:8761/eureka
eureka.client.registerWithEureka = true
eureka.client.fetchRegistry = true
#连接EurekaServer超时时间和拉取服务超时时间(默认是5s的8s)
eureka.client.eureka-server-connect-timeout-seconds = 15
eureka.client.eureka-server-read-timeout-seconds = 30
eureka.instance.prefer-ip-address = true
eureka.instance.lease-renewal-interval-in-seconds = 5
eureka.instance.lease-expiration-duration-in-seconds = 10
eureka.instance.home-page-url-path = ${server.servlet.context-path}
eureka.instance.health-check-url-path = ${server.servlet.context-path}/actuator/health
eureka.instance.status-page-url-path = ${server.servlet.context-path}/actuator/info
eureka.instance.metadata-map.management.context-path = ${server.servlet.context-path}/actuator
eureka.instance.metadata-map.notify.dingtoken = 84c23d3f49fe8e06c3828bba5d86acef44b45521f7b29d97225611f9e358831e

management.endpoint.health.show-details = ALWAYS
management.endpoints.web.exposure.include = *
management.security.enabled = false
management.info.git.enabled = false

info.Apollo = Apollo配置中心 http://103.43.184.250:8070
info.Eureka = Eureka注册中心 http://172.16.30.44:8761
info.Swagger = Swagger接口文档 http://103.43.184.252:8811${server.servlet.context-path}/swagger-ui.html
info.Kibana = Kibana日志分析 http://103.43.184.252:8814
info.Druid = Druid监控 http://103.43.184.252:8811${server.servlet.context-path}/druid/index.html
info.Pinpoint = Pinpoint性能监控 http://172.16.21.172:28080
info.sba = SBA微服务监控 http://103.43.184.252:8817
info.druidSwagger.show = true

## 三维运行参数配置
#### 加密私钥
restful.sshkey = YYYYYXX28JHKLNGYJ
#### 统一内部访问域名
restful.domain = http://10.35.58.185:80
#### 是否开机加载缓存(true,false)
sunway.start.cacheboot = false
### 支持Zuul开关
sunway.zuul.enable = false
### 支持swagui开关
sunway.swagui.enable = false
### 开启防CSRF攻击
sunway.csrf.enable = false
### 支持MQ 开关
sunway.rocketmq.enable = false

#网络传输优化 开启压缩传输
server.compression.enabled = true
server.compression.min-response-size = 2048
server.compression.mime-types = application/json,application/xml,application/javascript,text/css,text/html,text/xml,text/plain

#基于Redis的消息发布订阅
redis.mq.subscribe.channels = [{'channel':'clear_i18n_cache', 'consumerClass':'MapCacheClearService', 'channelDesc':'清理I18N虚拟机级缓存'},{'channel':'clear_sysco_cache', 'consumerClass':'SysCoCacheClearService', 'channelDesc':'清理系统参数虚拟机级缓存'},{'channel':'code_info_audit_distribution', 'consumerClass':'CodeInfoAuditDistribution', 'channelDesc':'分布式数据审核'},{'channel':'health_inspection_distribution', 'consumerClass':'HealthSubscribeService', 'channelDesc':'分布式执行质量检测'}]
#分布式计算 数据分区数
redis.codeNodeNum = 1

#分布式计算 质量检测分区数
redis.cleanNodeNum = 1

# 由于引入了FeignClient Feign和Zuul都是通过Ribbon负载 所以超时从Zuul中抽离出来升级为公共配置
ribbon.ReadTimeout = 60000
ribbon.ConnectTimeout = 30000
ribbon.MaxConnectionsPerHost = 1000
ribbon.MaxTotalConnections = 1500
#因为有些逻辑没考虑幂等性,规避超时默认会重试1次的问题
ribbon.MaxAutoRetriesNextServer = 0

#MQ服务器地址(特别注意:4.9版本及以后 如果不启用MQ请将下面这行配置删除或者注释 否则会影响项目启动)
rocketmq.name-server = 172.16.30.11:9876;172.16.30.12:9876

#审核通过写入ES列
rocketmq.topic.appcode_appquery_approve = appcode_appquery_approve_topic
rocketmq.group.appcode_appquery_approve = appcode_appquery_approve_consumer_group
#变更审核通过写入ES
rocketmq.topic.appcode_appquery_approvebg = appcode_appquery_approvebg_topic
rocketmq.group.appcode_appquery_approvebg = appcode_appquery_approvebg_consumer_group
#审核通过通知ESB更新待办审核信息
rocketmq.topic.appcode_appesb_updateaudit = appcode_appesb_updateaudit_topic
rocketmq.group.appcode_appesb_updateaudit = appcode_appesb_updateaudit_consumer_group
#审核通过通知ESB即时分发数据
rocketmq.topic.appcode_appesb_immediatesend = appcode_appesb_immediatesend_topic
rocketmq.group.appcode_appesb_immediatesend = appcode_appesb_immediatesend_consumer_group
#审核通过唯一索引存redis
rocketmq.topic.appcode_appcode_approve_uniquecache = appcode_appcode_approve_uniquecache_topic
rocketmq.group.appcode_appcode_approve_uniquecache = appcode_appcode_approve_uniquecache_consumer_group
#数据清洗审核通过
rocketmq.topic.appclean_appesb_approve = appclean_appesb_approve_topic
rocketmq.group.appclean_appesb_approve = appclean_appesb_approve_consumer_group


#使用阿里oss需要配置以下参数,并修改系统参数AttachmentStorageType=2
#sunway.oss.alibaba.endpoint = htpp://localhost
#sunway.oss.alibaba.accessKeyId = 123
#sunway.oss.alibaba.accessKeySecret = 123
#sunway.oss.alibaba.bucketName = 123

#Spring-cloud-stream配置信息
sunway.mqstream.enable = false
#关闭rabbitmq健康检查
management.health.rabbit.enabled = false
spring.cloud.stream.bindings.input.group = todo
spring.cloud.stream.binders.myrocket.type = rocketmq
spring.cloud.stream.binders.myrocket.defaultCandidate = true
spring.cloud.stream.binders.mykafka.type = kafka
spring.cloud.stream.binders.mykafka.defaultCandidate = false
spring.cloud.stream.binders.myrabbit.type = rabbit
spring.cloud.stream.binders.myrabbit.defaultCandidate = false

#rocketmq服务器地址指定方式
spring.cloud.stream.rocketmq.binder.name-server = 172.16.30.11:9876
#kafka服务器地址指定方式
#spring.cloud.stream.kafka.binder.brokers = 172.16.30.11:9876
#rabbitmq服务器地址指定方式
#spring.cloud.stream.binders.myrabbit.environment.spring.rabbitmq.host = 172.16.30.10
#spring.cloud.stream.binders.myrabbit.environment.spring.rabbitmq.port = 5672
#spring.cloud.stream.binders.myrabbit.environment.spring.rabbitmq.username = guest
#spring.cloud.stream.binders.myrabbit.environment.spring.rabbitmq.password = guest
#spring.cloud.stream.binders.myrabbit.environment.spring.rabbitmq.virtual-host = /

spring.cloud.stream.bindings.input1.consumer.max-attempts = 1

spring.cloud.stream.bindings.output1.destination = appcode_appquery_approve
spring.cloud.stream.bindings.input1.destination = appcode_appquery_approve
spring.cloud.stream.bindings.input1.group = appcode_appquery_approve_consumer_group

spring.cloud.stream.bindings.output2.destination = appcode_appquery_approvebg
spring.cloud.stream.bindings.input2.destination = appcode_appquery_approvebg
spring.cloud.stream.bindings.input2.group = appcode_appquery_approvebg_consumer_group

spring.cloud.stream.bindings.output3.destination = appcode_appesb_updateaudit
spring.cloud.stream.bindings.input3.destination = appcode_appesb_updateaudit
spring.cloud.stream.bindings.input3.group = appcode_appesb_updateaudit_consumer_group

spring.cloud.stream.bindings.output4.destination = appcode_appesb_immediatesend
spring.cloud.stream.bindings.input4.destination = appcode_appesb_immediatesend
spring.cloud.stream.bindings.input4.group = appcode_appesb_immediatesend_consumer_group

spring.cloud.stream.bindings.output8.destination = appclean_appesb_receiveasync
spring.cloud.stream.bindings.input8.destination = appclean_appesb_receiveasync
spring.cloud.stream.bindings.input8.group = appclean_appesb_receiveasync_consumer_group

spring.cloud.stream.bindings.output9.destination = appcode_appcode_receiveasync
spring.cloud.stream.bindings.input9.destination = appcode_appcode_receiveasync
spring.cloud.stream.bindings.input9.group = appcode_appcode_receiveasync_consumer_group

修改Query配置

1
2
3
4
5
6
7
8
9
10
11
server.port = 7007
server.servlet.context-path = /query
eureka.instance.hostname = appquery
eureka.instance.instance-id = ${eureka.instance.hostname}:${spring.application.name}:${server.port}:${random.value}
spring.data.elasticsearch.cluster-name = elasticsearch
spring.data.elasticsearch.cluster-nodes = https://vpc-gw-test-mdm-xuqrmv6c3l6nxtvjtpi7jv2vfq.cn-northwest-1.es.amazonaws.com.cn
spring.elasticsearch.bboss.elasticsearch.rest.hostNames = https://vpc-gw-test-mdm-xuqrmv6c3l6nxtvjtpi7jv2vfq.cn-northwest-1.es.amazonaws.com.cn
spring.elasticsearch.bboss.elasticsearch.includeTypeName = true
spring.data.elasticsearch.repositories.enabled = true

rocketmq.producer.group = appquery_producer_group

部署appadmin

1
2
3
4
5
6
7
docker run -it -d -p 8771:8771 --name=appadmin --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/sba.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appadmin:9.0.17.1

部署appzuul

1
2
3
4
5
6
7
docker run -it -d -p 8080:8080 --name=appzuul --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/zuul.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appzuul:9.0.17.1

部署apphome

1
2
3
4
mkdir -p /opt/apphome
docker run -it -d -p 80:80 --name=apphome --privileged \
-e APP_ZUUL_HOST=$IP:8080 \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/apphome:9.0.17.1

部署appmdmui

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7000:7000 --name=appmdmui --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/mdmui.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appmdmui:9.0.17.1

部署appcore

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7001:7001 --name=appcore --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/core.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appcore:9.0.17.1

部署appbpm

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7002:7002 --name=appbpm --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/bpm.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appbpm:9.0.17.1

部署appconsole

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7003:7003 --name=appconsole --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/console.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appconsole:9.0.17.1

部署appengine

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7004:7004 --name=appengine --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/engine.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appengine:9.0.17.1

部署appmodule

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7005:7005 --name=appmodule --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/module.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appmodule:9.0.17.1

部署appcode

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7006:7006 --name=appcode --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/code.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appcode:9.0.17.1

部署appquery

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7007:7007 --name=appquery --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/query.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appquery:9.0.17.1

部署appclean

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7008:7008 --name=appclean --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/clean.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appclean:9.0.17.1

部署appesb

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7009:7009 --name=appesb --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/esb.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appesb:9.0.17.1

部署appmdmdc

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7010:7010  --name=appmdmdc --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/mdmdc.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appmdmdc:9.0.17.1

部署apptask

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7011:7011 --name=apptimer --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/timer.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/apptask:9.0.17.1

部署appreport

1
2
3
4
5
6
7
8
9
docker run -it -d -p 7012:7012 --name=appreport --privileged \
-e JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/logs/report.hprof' \
-e apollo.meta=http://$IP:8847 \
-e ENV=PRO \
-e apollo.bootstrap.namespaces=application,MySQL27Conf \
-e JAVA_XMS=512m \
-e JAVA_XMX=1024m \
-v /opt/logs:/opt/logs \
nexus.goldwind.com.cn:8080/$PROJECT/$ENV/appreport:9.0.17.1