
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
一个用Groovy编写的Docker HTTP客户端
将按预期工作。
DOCKER_HOST、DOCKER_TLS_VERIFY等DOCKER_*环境变量content属性中Gradle配置
首先添加Bintray仓库:
groovyrepositories { maven { url 'http://dl.bintray.com/gesellix/docker-utils' } }
然后添加依赖(请确保使用最新版本):
groovydependencies { compile 'de.gesellix:docker-client:2016-12-10T23-39-48' }
DockerClientImplSpec和DockerClientImplIntegrationSpec中的测试可提供使用示例参考。
默认配置
默认Docker主机预期在unix:///var/run/docker.sock可用。使用Docker Machine时,通过eval "$(docker-machine env default)"配置的现有环境变量已足够。
对于原生包Docker for Mac和Docker for Windows,默认配置同样适用:
unix:///var/run/docker.sock//./pipe/docker_engine配置覆盖
可通过Java系统属性覆盖现有DOCKER_*环境变量:
groovySystem.setProperty("docker.host", "192.168.99.100") System.setProperty("docker.cert.path", "/Users/${System.getProperty('user.name')}/.docker/machine/machines/default")
注意:返回的Docker daemon原始响应包含头信息,实际响应体在
content属性中。某些端点返回流数据,可通过stream属性访问。对于日志或事件流等场景,需提供回调函数处理每个响应行,见示例3。
示例1:docker info
连接运行在VM(boot2docker/machine)中的Docker daemon的基本示例:
groovySystem.setProperty("docker.cert.path", "/Users/${System.getProperty('user.name')}/.docker/machine/machines/default") def dockerClient = new DockerClientImpl(System.env.DOCKER_HOST) def info = dockerClient.info().content
示例2:docker run
运行一个通过主机HTTP端口4712访问的容器:
groovySystem.setProperty("docker.cert.path", "/Users/${System.getProperty('user.name')}/.docker/machine/machines/default") def dockerClient = new DockerClientImpl(System.env.DOCKER_HOST) def image = "busybox" def tag = "latest" def cmds = ["sh", "-c", "ping 127.0.0.1"] def containerConfig = ["Cmd" : cmds, "ExposedPorts": ["4711/tcp": [:]], "HostConfig" : ["PortBindings": [ "4711/tcp": [ ["HostIp" : "0.0.0.0", "HostPort": "4712"]] ]]] def result = dockerClient.run(image, containerConfig, tag).content
示例3:docker logs --follow
groovydef callback = new DockerAsyncCallback() { def lines = [] @Override def onEvent(Object line) { println line lines << line } } dockerClient.logs("foo", [tail: 1], callback) // callback.lines将收集所有日志行 // 可将其实现为fifo而非上述List
开发此Docker客户端的主要目的是在Gradle脚本中利用Docker远程API。通过使用https://github.com/gesellix/gradle-docker-plugin%E5%8F%AF%E6%96%B9%E4%BE%BF%E5%9C%B0%E9%9B%86%E6%88%90%E5%88%B0Gradle%E4%B8%AD%EF%BC%8C%E8%AF%A5%E6%8F%92%E4%BB%B6%E5%B0%86%E4%B8%8EDocker%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BA%93%E4%B8%80%E8%B5%B7%E5%BC%80%E5%8F%91%E3%80%82
如遇功能异常或有建议,请https://github.com/gesellix/docker-client/issues%E3%80%82%E4%B9%9F%E6%AC%A2%E8%BF%8E%E6%8F%90%E4%BA%A4PR%EF%BC%81
当前开发者API尚不完善,计划在原始接口之上添加更便捷的层,使80%的常见用例无需深入源代码即可实现。如需讨论用例实现,请创建issue参与讨论!
版权所有2015 Tobias Gesellchen (@gesellix)
根据Apache许可证2.0版("许可证")授权;除非符合许可证,否则不得使用此文件。您可以在以下位置获取许可证副本:
[***]
除非适用***要求或书面同意,否则根据许可证分发的软件按"原样"分发,不提供任何明示或暗示的担保或条件。有关许可证下权限和限制的具体语言,请参见许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





来自真实用户的反馈,见证轩辕镜像的优质服务