Moby: docker主机之间的点对点推/拉

创建于 2013-03-29  ·  22评论  ·  资料来源: moby/moby

在 irc 上与@shykes讨论之后。

当 docker 守护进程运行时,它应该接受推/拉请求。 这将允许两个守护进程以 p2p 或集中方式在彼此之间发送图像。

此外,应该有一个 -norun 选项来禁用执行。 这在运行专用图像存储库时很有用。 在这种模式下,即使没有 lxc 或 aufs 模块,docker 也应该可以工作。

一旦存在,当前的公共 repo 实现可以用 docker 守护程序替换。

aredistribution exexpert kinfeature

所有22条评论

在所有方面都正确:)

我们所追求的是一个可以与 go 语言相媲美的系统。 例如。 你可以在任何地方托管一个包,为了方便起见,有一个中央策划的命名空间,其中包含质量、审计、安全等方面的指导方针。

这是#21 的子组件。

我更改了标题以澄清与#350 的区别。

这个问题是关于向 Docker 添加点对点推/拉功能。 使用此功能,2 台 docker 主机可以直接交换图像,就好像它们正在与注册表交换图像一样。

在这里考虑更多细节。

  • 我们是否要支持从另一个守护进程推送到_和_拉取?
  • docker 应该始终接受图像推送(和拉取),还是需要在混杂模式下运行?
  • 那么 daemon - daemon 认证和授权呢?
  • 推送到另一个守护进程的命令是什么? docker push -d other.docker.com myimage ?
  • 转移是否将使用与常规注册表推/拉完全相同的机制? (HTTP 等)
  • #21 与这个问题有关。 例如,它会包含一条用于POST的路由,将图像发送到另一个守护程序。 或者这可能被注册表使用的任何 API 所取代。

2013 年 4 月 8 日星期一晚上 8:21,Caleb Spare [email protected]写道:

  • 我们是否要支持从另一个守护进程推送到_和_拉取?

是的,我想是这样。 如果让我选一个,我会选择 push 开始。

  • 码头工人应该总是接受图像推送(和拉取),还是接受
    需要在混杂模式下运行吗?

我认为以这种方式开始很好。 我们可以让它成为一个有条件的开关,
例如。 'docker -d --no-push-pull'

  • 那么 daemon - daemon 认证和授权呢?

我想我们可以稍后再担心。

  • 推送到另一个守护进程的命令是什么? 码头工人推-d
    other.docker.com 我的图像?

这似乎是合理的。 @samalba @kencochrane和 @shin- 谁是
实施注册表可能在这里有意见。

  • 转移是否将使用与常规完全相同的机制
    注册表推/拉? (HTTP 等)

是的,这就是目标。

绝对地。 我开始在#21上工作,我和你分享基地怎么样
我们在 API 的 2 个不同部分上并行工作?

@shykes听起来不错。 只需将#21 代码推送到分支?

使用 1.0 api 会更容易。

这将是一个很棒的插件,如果有人对此感兴趣,请在此处说明。 我将为您介绍早期的 API 文档和入门技巧。

这听起来很有趣。 此功能是否有任何硬性截止日期? 如果没有,我可以在本月底(或者可能是 9 月。我最近几周还有其他工作要做。)

@shykes如果我可以访问更详细的 1.0 API 计划,那就太好了。

@tobstarr ,如果您想使用您的 go 注册表实现来允许 docker 接收推送...我认为这将是一个杀手级功能! 我很乐意帮助您将其合并。

我对这个还是很感兴趣的。 如果有人想试一试,请告诉我:)

为我 +1

我真的很想建造这个。 将注册表 API 覆盖在远程 API 之上的基本思想是什么? 看起来/images/:id/json端点或多或少兼容,其他一切都不会发生冲突。

如果注册表 API 是远程 API 的子集,那就太好了。 或者,我想我们可以有一个单独的端口/ URL 命名空间,即注册表。 甚至完全不同的 API?

+1 - 我希望看到它以与注册表相同的方式工作,因此您不必关心您是在与注册表还是与远程 docker 守护进程交谈。

我不确定这会做多少工作,但如果它们相同,那么注册表的推/拉功能基本上可以成为一个轻量级的身份验证,位于 docker 守护进程前面。

此处通过 SSH 的工作实现: https ://github.com/docker/docker/pull/9304

谁能告诉我我们是否会在不久的将来在任何版本中获得此功能?
我很想看到这个功能

+1也很想看到!

+1。

对此+1。 目前我们使用docker save | ssh -C docker load来传输图像,但这会传输_一切_,包括我们已经拥有的部分。 如果我只能传输重要的位,会容易得多。

_用户投票_

_在此讨论中有更改时获得通知的最佳方式是单击右上角的订阅按钮。_

下面列出的人对您的有意义的讨论表示赞赏,并随机 +1:

@xiaods
@hustcat
@leonardschneider
@v00rh33s

看起来仍然是有效的功能。 不确定安全/验证是否可行。
想法@tonistiigi

@LK4D4我想我们可以关闭它,如果有人可以提供一个真正的提案设计,那么他可以打开另一个问题来跟踪该主题。

此页面是否有帮助?
0 / 5 - 0 等级