宿主机为 Linux 系统
(1)license需要验证hostName,CPU等信息,采集指纹时需要挂载宿主机的 /etc 目录,以及lic挂载到宿主机外面,指定容器的 hostName
docker run -itd --hostname cnserver10 -v /etc:/dolphindb/etc -v /root/dolphindb.lic:/data/ddb/server/dolphindb.lic -p 18800:8848 dolphindb/dolphindb:v1.30.16 bash
--hostname: 容器的主机名称,需指定,下次启动不能修改
-v:主机路径与容器路径的映射关系,1. 需将lic映射的对应容器内lic的放置目录。2. 将主机的/etc目录映射到容器内部(lic会检测CPU以及网卡等信息,必须将/etc目录映射到容器内部).
-p: 容器端口与主机端口的映射关系,本例将dolphindb进程的8848端口映射到宿主机的18800端口
(2)连接dolphindb
//自行修改输出文件路径
generateMachineFingerprint('/hdd/license/fingerprint-S100');
(3) 在每个容器上执行上述步骤获取指纹文件,建议将输出指纹文件以 fingerprint-[标识] 命名,方便制作 license 时区分。产生的指纹为容器内部的路径,执行下面命令将指纹文件拷贝出来,进行制作。
docker cp 96f7f14e99ab:/hdd/license/fingerprint-S100 /tmp/
将容器96f7f14e99ab的/hdd/license/fingerprint-S100目录拷贝到主机的/tmp目录中。
宿主机为 Windows 系统
a) WSL 安装 Docker
相当于 windows 装了一个 Linux 子系统
docker run -itd --hostname cnserver10 -v /etc:/dolphindb/etc -v /home/dolphindb/dolphindb.lic:/data/ddb/server/dolphindb.lic -p 18804:8848 ubuntu:20.04 bash
进入容器安装 tzdata 以及三个网络组件
apt-get update apt-get upgrade apt-get install -y tzdata apt install net-tools apt-get install inetutils-ping apt-get install openssh-server
其他步骤 如上所述采集指纹.