我正在开发一个全新的批量插件,并且需要通过所有的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服务,它甚至不在容器中?
感谢任何帮助。