# 1.客户获取服务器信息
需要提前安装好docker

```

//启动docker容器获取服务器环境信息，复制所有信息发给对应的同事
# docker run --rm --name java -v /sbin/dmidecode:/sbin/dmidecode -v /dev/mem:/dev/mem --privileged docker.platomix.net:10000/module/get-server-info:1.0.0

//启动以上命令后打印形如：
操作系统:linux
CPU序列号:C2 06 02 00 FF FB EB BF
主板序列号:8BXCQV1
有效IP地址:172.22.0.11
有效MAC地址:02-42-AC-16-00-0B
```

# 2.提供给客户lincese_key文件
暂时手动生成提供给客户，后续需要有个平台可以填写内容后，自动生成

```
LicenseContentModel licenseContentModel = new LicenseContentModel();
//过期时间【根据需求设置】
licenseContentModel.setExpireTime(DateUtil.offset(new Date(), DateField.YEAR, 10).getTime());
//CPU序列号
licenseContentModel.setCpuSerial("C2 06 02 00 FF FB EB BF");
//主板序列号
licenseContentModel.setMainBoardSerial("8BXCQV1");
//ip地址【暂时未开启IP地址校验 同一台服务器，不同的容器IP是不同的】
licenseContentModel.setIpAddress("172.22.0.11");
//mac地址【暂时未校验，不同容器的mac地址不同】
licenseContentModel.setMacAddress("02-42-AC-16-00-0B");
String data = JSON.toJSONString(licenseContentModel);
//使用私钥加密 - 注意：该私钥必须与服务器上的公钥是一对
String cipherText = SecureUtil.rsa("私钥", null).encryptBase64(data, KeyType.PrivateKey);
System.out.println(cipherText);
```
最后，把打印出来的字符串，放入到lincese_key文件中。

```
IoUtil.write(new FileOutputStream(new File("/data/webapp/license/001_lincese_key")), true, cipherText);
```

# 3.项目的环境yml中配置lincese_key路径

```
blade.license.filePath=/dockerDir/lincese/lincese_key

#如果禁用license校验，可以通过配置关闭。【默认开启状态】
blade.license.enabled=false
```
