Vic*_*c K 8 java spring docker
我正在开发一个全新的批量插件,并且需要通过所有的vol-test测试。我已经成功通过了所有测试(在安装了插件的环境中),但第一个测试除外docker plugin install。事实是,有三种可能的方式可以安装自定义插件:
.sock文件是UNIX域套接字。
.spec文件是包含URL的文本文件,例如unix:///other.sock或tcp:// localhost:8080。
.json文件是包含插件完整json规范的文本文件。
我们使用json,这只是实现docker API的REST服务器(用java,spring编写)。它的安装过程很简单:只需将json文件复制到其中/etc/docker/plugins,dockerd就会自动发现它。
当我尝试将插件集成到docker plugin install命令中时,问题就来了。由于它说在这里:
Docker首先在您的Docker主机上寻找插件。如果该插件在本地不存在,则将该插件从注册表中拉出。
我们的安装过程不假定连接到私有或公共注册表,因此我们需要第一个docker plugin create命令才能在本地创建插件。这就是我很难理解如何使用基于json的插件做到这一点的地方。根据此文档,我需要指定插件的路径。如果我使用它需要一个目录名config.json和rootfs存在于该目录中。
但
1 config.json-这是一个配置,它描述.sock格式CONFIGS,而不是.json格式(请纠正我,如果我错了)
2.我如何创建根文件系统,为什么我需要它,如果我的插件仅仅是一个独立的REST服务,它甚至不在容器中?
感谢任何帮助。
jup*_*.rm -1
config.json - 这是一个配置,描述 .sock 格式配置,而不是 .json 格式(如果我错了,请纠正我)
我已经验证了它可以与 .spec 文件一起使用,但不太确定它如何与 json 文件一起使用。对于 .spec 文件,您不会在 config.json 中提及 .spec 文件。这仅用于 unix 套接字插件(选项 1)。事实上,TCP 套接字插件不需要 config.json。
如何创建 rootfs?如果我的插件只是一个独立的 REST 服务并且它甚至不在容器中,为什么需要它?
据我了解,rootfs仅适用于unix套接字插件。如果 .spec 文件存在于正确的文件夹中,则插件发现可以开箱即用。简而言之,您只需创建规范文件并将其放入正确的发现文件夹中,然后尝试使用该插件名称引导容器。您不必运行“docker plugin create/install/enable”之类的命令。您运行服务器,将文件放在正确的文件夹中,然后让新容器使用该插件。
| 归档时间: |
|
| 查看次数: |
216 次 |
| 最近记录: |