我正在开发一个用Java实现的新产品,需要许可才能运行。许可证验证基于服务器ID。如果我直接在linux服务器上运行它不是问题。
但是,我想提供在docker中运行我的软件的选项,但问题是我不知道如何从docker容器中获取主机ID。我不想使用docker容器ID,因为客户可能需要重新创建它(例如用于软件更新),所以我需要知道主机服务器的ID。
我考虑过使用MAC地址,但是需要使用“--net = host”选项运行容器,出于安全考虑,我希望避免使用该选项。
答案 0 :(得分:2)
也许你应该退后一步,研究其他方法,例如这个系统适用于两个组件:
这样的解决方案甚至允许人们将许可证文件包含在他们的泊坞窗图像中。
并且为了记录:任何其他不使您的应用程序与中央服务器通信的解决方案可能会给您带来真正的麻烦。
答案 1 :(得分:0)
Matlab许可证也发生了同样的问题,我使用冻结的主机ID docker-compose或docker为您提供了一个很好的功能,将其设为默认设置您的主机ID
version: '3.7'
services:
flask:
container_name: flask # Name can be anything
restart: always
build: ./xyz
mac_address: 1c:56:g6:12:30:13
记住要查看添加到您的MatLab许可证中的主机ID是否在此处设置相同。