Moby: Одноранговые push/pull между хостами докеров

Созданный на 29 мар. 2013  ·  22Комментарии  ·  Источник: moby/moby

После обсуждения с @shykes на irc.

Когда демон docker запущен, он должен принимать запросы push/pull. Это позволит двум демонам отправлять изображения друг другу в режиме p2p или централизованно.

Кроме того, должна быть опция -norun для отключения выполнения. Это будет полезно при запуске специального репозитория изображений. В этом режиме докер должен работать даже без lxc или модуля aufs.

Как только он появится, текущая реализация общедоступного репо может быть заменена демоном Docker.

aredistribution exexpert kinfeature

Все 22 Комментарий

Правильно по всем пунктам :)

Мы стремимся к системе, сравнимой с языком go. например. вы можете разместить пакет в любом месте, и для удобства есть центральное контролируемое пространство имен с рекомендациями по качеству, аудиту, безопасности и т. д.

Это подкомпонент #21.

Я изменил заголовок, чтобы прояснить разницу с № 350.

Эта проблема связана с добавлением в Docker функции одноранговой push/pull. С помощью этой функции два хоста докеров могут напрямую обмениваться изображениями, как если бы они обменивались изображениями с реестром.

Думая немного больше о специфике здесь.

  • Хотим ли мы поддерживать отправку в _и_ извлечение из другого демона?
  • Должен ли докер всегда принимать отправку изображений (и извлечение) или его нужно запускать в беспорядочном режиме?
  • Как насчет демона - аутентификация и авторизация демона?
  • Какая команда для отправки другому демону? docker push -d other.docker.com myimage ?
  • Будет ли перенос использовать тот же самый механизм, что и обычный перенос реестра? (HTTP и т. д.)
  • № 21 связан с этой проблемой. Например, он может включать маршрут для POST , передающий образ другому демону. Или, может быть, это заменено любым API, который использует реестр.

В понедельник, 8 апреля 2013 г., в 20:21 Калеб Спейр, [email protected] , написал:

  • Хотим ли мы поддерживать отправку в _и_ извлечение из другого демона?

Да, я так думаю. Если бы мне пришлось выбирать один, я бы выбрал толчок, чтобы начать.

  • Докер всегда должен принимать отправку изображений (и получение) или
    нужно запускать в беспорядочном режиме?

Я думаю, что это нормально, чтобы начать таким образом. Мы можем сделать это условным переключателем,
например. 'докер -d --нет-двухтактный'

  • Как насчет демона - аутентификация и авторизация демона?

Я думаю, мы можем побеспокоиться об этом позже.

  • Какая команда для отправки другому демону? докер толчок -d
    другое.docker.com мое изображение?

Это кажется разумным. @samalba @kencochrane и @shin- кто такие
реализация реестра может иметь здесь свое мнение.

  • Будет ли перевод использоваться тот же механизм, что и обычный
    реестр push/pull? (HTTP и т. д.)

Да, это цель.

  • # 21 https://github.com/dotcloud/docker/issues/21 привязан к этому
    проблема. Например, он может включать маршрут для отправки изображения на сервер.
    другой демон. Или, может быть, это заменено любым API реестра
    использует.

Абсолютно. Я начал работать над № 21, как насчет того, чтобы поделиться с вами базой
и мы параллельно работаем над двумя разными частями API?

@shykes Звучит здорово. Просто отправить код #21 в ветку?

Это будет значительно проще с использованием 1.0 API.

Это был бы отличный плагин, если кто-то заинтересован в работе над этим, скажите об этом здесь. Я познакомлю вас с ранней документацией по API и советами по началу работы.

Это звучит интересно. Есть ли какие-то жесткие сроки для этой функции? Если нет, я могу взять его и поработать над ним к концу этого месяца (или, может быть, к сентябрю. В последние недели у меня есть еще кое-какая работа).

@shykes Было бы здорово, если бы я мог получить доступ к более подробному плану API 1.0.

@tobstarr , если вы хотите использовать свою реализацию реестра go, чтобы позволить докеру получать push ... Я думаю, это была бы убийственная функция! Я буду рад помочь вам объединить его.

Я все еще заинтересован в этом. Если кто-то хочет попробовать, дайте мне знать :)

+1 для меня

Я бы очень хотел, чтобы это построили. Является ли основная идея наложения API реестра поверх удаленного API? Похоже, что конечная точка /images/:id/json более-менее совместима, а все остальное не конфликтует.

Было бы очень удобно, если бы API реестра был подмножеством удаленного API. В качестве альтернативы, я думаю, у нас могло бы быть отдельное пространство имен порта/URL, которое было бы реестром. Или даже совершенно другой API?

+1 - Мне бы хотелось, чтобы это работало так же, как работает реестр, поэтому вам не нужно было заботиться о том, разговариваете ли вы с реестром или с удаленным демоном докера.

Я не уверен, сколько работы это потребует, но если они одинаковы, то функция push/pull в реестре может по сути стать облегченной аутентификацией, которая находится перед демоном докера.

Рабочая реализация через SSH здесь: https://github.com/docker/docker/pull/9304 .

Может ли кто-нибудь сказать мне, получим ли мы эту функцию в ближайшем будущем в каком-либо выпуске?
хотелось бы увидеть эту функцию

+1 Я бы тоже хотел на это посмотреть!

+1.

+1 по этому поводу. В настоящее время мы используем docker save | ssh -C docker load для передачи изображений, но при этом передается _все_, включая те фрагменты, которые у нас уже есть. Было бы намного проще, если бы я мог передавать только те биты, которые имели значение.

_ОПРОС ПОЛЬЗОВАТЕЛЯ_

_Лучший способ получить уведомление об изменениях в этом обсуждении — нажать кнопку «Подписаться» в правом верхнем углу._

Перечисленные ниже люди оценили ваше содержательное обсуждение случайным +1:

@xiaods
@hustcat
@леонардшнайдер
@v00rh33s

Все еще выглядит как допустимая функция. Не уверен, что это возможно с помощью средств безопасности/проверки.
Мысли @tonistiigi ?

@ LK4D4 Я думаю, мы можем закрыть его, если кто-то может дать реальный дизайн предложения, он может открыть еще один вопрос, чтобы отслеживать тему.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги