Machine: Docker Machine теперь в режиме обслуживания

Созданный на 13 июл. 2018  ·  65Комментарии  ·  Источник: docker/machine

Как было очевидно в течение некоторого времени, мы постепенно перестали внедрять или принимать новые функции для проекта. Его настольное использование в основном было заменено нашим продуктом Docker Desktop . В целом предоставление ресурсов для различных облачных провайдеров лучше достигается с помощью с сегодняшнего дня мы официально закрываем кран для внесения изменений, не связанных с исправлением ошибок.

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

Самый полезный комментарий

Прошу также обновить файл readme.md

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

Ой :(

Ну, это было хорошо, пока длилось :)
Спасибо всем за хорошую работу!

Прошу также обновить файл readme.md

Если официальная поддержка машины закрывается, какова вероятность продолжения поддержки со стороны сообщества в этом репо?

для тех из вас, кому нужна машина, в организации https://github.com/machine-drivers есть некоторые действия, и вам может иметь смысл поработать и выпустить с https://github.com/machine- водители / машина ...

Мы уже рассмотрели возможность добавления исправлений в эту организацию, поскольку они, похоже, не могут быть объединены здесь: # 4509 (это блокировка для локализованных версий Windows). Лучше всего продвигаться вперед с некоторыми формами выпусков, однако для нас: minikube и minishift нам нужно только связать с библиотекой.

@ shin - Думаю, что новый пользователь в документации "Приступая к работе" по-прежнему использует docker-machine в качестве центральной части вступления.

Что лучше для людей, заинтересованных в обновлении документации?

Я считаю, что это действительно обидно. Реальная мощь машины была где-то между простотой работы на одной машине с помощью Desktop и сложностью инфраструктуры . machine идеально подходила для запуска нескольких машин для тестирования распределенных рабочих нагрузок в меньшем масштабе.

Привет!

Есть у кого-нибудь альтернативный софт для Linux? Я не хочу запускать docker с правами root на моем хост-компьютере, и docker-machine давала некоторую изоляцию в этом отношении. Есть ли какие-нибудь планы относительно Docker для Linux?

Благодаря!

@gilbsgilbs Вы все еще можете использовать docker-machine, как сейчас!

@ shin- Спасибо за ваше предложение. Я начинаю новый проект, поэтому использование докер-машины для этого было бы странным ходом, не так ли?

@ shin- Хорошо ... быть закрытым для средств связи с общественностью, использовать его для новых проектов, вероятно, плохая идея. : wink:

@justinclift Я не хочу docker-machine соответствует вашим потребностям, нет причин отказываться от него даже для новых проектов.

Похоже, инфракит тоже не активен. Больше года не было выпусков, обновлений на DockerCon 2018, пользовательской документации типа https://docs.docker.com/machine/

Документация по машине Docker предлагает попробовать Docker Cloud, которое, в свою очередь, отключается в пользу Docker EE (который обычно недоступен)

Все это побуждает либо форкнуть проект, либо поискать в другом месте: https://landscape.cncf.io/grouping=landscape&landscape=infrastructure-automation&sort=first-commit

Не жалуюсь, просто описываю свою точку зрения.

Интересно. Если посмотреть на историю коммитов для одного человека .

В апреле / ​​мае активность, похоже, прекратилась. Догадываясь, что время людей было перенаправлено на другие вещи.

Это неправильный взгляд на вещи?

@ shin- но многие PR (например, исправления, которые я предоставляю, чтобы интернационализация Hyper-V работала) не были приняты для слияния. Это не является хорошим признаком того, что «мы просто стремимся ограничить их исправлением ошибок, а не новыми функциями» в свете «нет причин отказываться от этого, даже для новых проектов».

@ shin-

Я не хочу вдаваться в подробности, потому что у нас есть больше информации в подготовленном заявлении.

Не могли бы вы дать ссылку на это официальное заявление (когда бы оно ни было опубликовано?) Я не могу его найти.

Я настоятельно рекомендую обновить документы, чтобы они были актуальными .
Мой последний час был бессмысленным исследованием boot2docker, который явно указывает на докер-машину, на главной странице которой есть предупреждение, советующее использовать облако докеров в качестве современной технологии. Это указывает на описание документа Docker Cloud (а не на страницу миграции !!!!), которое потребовало от меня некоторого поиска в Google, чтобы узнать, что он был прекращен в мае (но объявлен в марте, то есть 7 месяцев назад). Теперь пришел сюда, чтобы предложить удалить предупреждение из документа док-машины, я обнаружил, что эта 3-месячная докер-машина также прекращает работу.
Это просто не то, как должна работать документация. Я вернусь к какому-то специальному решению, но я бы отказался от докера, если я его еще не использовал.

@aliceminotto Нам всем помогло бы обновить устаревшие документы, если бы вы могли указывать на сайты или страницы, о которых говорите.

docker-machine никуда не денется, просто не расширит возможности.

Docker Cloud никуда не денется, он просто больше не используется для подготовки / управления сервером. Он по-прежнему нужен для создания имиджа. Docker имеет другие инструменты для производственных серверов, такие как Docker для AWS , Docker для Azure и DCI для Docker Enterprise.

Я совершенно забыл о старом веб-сайте http://boot2docker.io и не осознавал, что уведомление там было написано так плохо (извиняюсь за любую путаницу, которая способствовала!) - теперь я обновил (и уменьшил) это содержание, чтобы, надеюсь, лучше прояснить, что boot2docker, древний инструмент CLI, был объявлен устаревшим в пользу Docker Machine, и этот дистрибутив boot2docker не является устаревшим, а скорее находится в режиме обслуживания (как и Docker Machine).

Другими словами: новые выпуски Docker, обновления ядра и т. Д., Но согласованные попытки свести новые функции / функциональные возможности к абсолютному минимуму, чтобы обеспечить непрерывную ремонтопригодность для тех немногих людей, которые еще не могут перейти на более подходящий Docker для Windows. / Продукты Docker для Mac или инструменты рабочего сервера / решения, упомянутые выше (пользователи Windows 7, которые вообще не могут использовать Docker для Windows, пользователи Windows 10 Home, которые, таким образом, не могут использовать Hyper-V, пользователи VirtualBox, которые, таким образом, не могут использовать Hyper- V и т. Д.).

@tianon : вы также можете упомянуть пользователей Linux, которые не хотят переходить на Mac или Windows ...

@afbjorklund Зачем вам нужен boot2docker, если вы уже используете Linux?

@Vanuan : либо потому, что ваш дистрибутив был слишком стар (например, RHEL6), либо потому, что вам не разрешили root ...

В любом случае, переход на Docker Desktop _не_ вариант - это либо Docker Engine, либо DIY LinuxKit?

Я хотел бы поблагодарить разработчиков docker-machine и boot2docker за то, что они сделали docker более доступным.

И с помощью машинных драйверов (для KVM), надеюсь, он продолжит работать еще некоторое время.

Зачем мне использовать серверный дистрибутив для настольных ПК? А почему я не администратор своего рабочего стола? Но почему мне разрешен доступ к KVM?

Похоже, вы ищете решение для запуска докера на KVM-сервере? Если это так, я сейчас изучаю инфракит здесь: https://github.com/docker/infrakit/issues/913

Но если вы хотите запустить докер только на рабочем столе Linux, я не понимаю, почему бы вам не установить последнюю версию Ubuntu вместе с Docker CE. Если вы хотите запустить его на виртуальной машине, сделайте это. Вы можете смонтировать свой домашний каталог в VirtualBox и использовать докер через SSH. В чем проблема? Docker для Linux Desktop отсутствует, потому что это не имеет смысла. По крайней мере, мне.

Зачем мне использовать серверный дистрибутив для настольных ПК? А почему я не администратор своего рабочего стола? Но почему мне разрешен доступ к KVM?

Некоторым людям приходится использовать любую настольную ОС, которую им дает работодатель. RHEL6 - это пример, о котором мне (несколько месяцев назад) рассказал парень, работающий на бирже. : wink:

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

Не уверен, что это когда-либо было разработано на какой-либо глубине, поскольку большая часть усилий по разработке Libvirt была направлена ​​на виртуальные машины «системного уровня», а не на пользовательский.

если вы хотите запустить докер только на рабочем столе Linux, я не понимаю, почему бы вам не установить последнюю версию Ubuntu

Некоторым людям не нравится Ubuntu по той или иной причине. : wink:

Начиная с версии 18.09 ( DOCKER_HOST=ssh:// ), настройка удаленных компьютеров Docker без docker-machine действительно тривиальна: https://medium.com/lucjuggery/docker-tips-access-the-docker- демон через ssh-97cd6b44a53

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

Да, это называется qemu: // session
В последней версии GNOME даже есть хорошее приложение для этого - Boxes: https://en.wikipedia.org/wiki/GNOME_Boxes

Виртуализация KVM в пользовательском режиме имеет некоторые недостатки по сравнению с сетью. Поэтому я думаю, что Virtualbox - единственный выбор в таких условиях.

И иметь CLI для VirtualBox - выбор бродячий. Вам нужен только дистрибутив Linux, чтобы запускать на нем докер. И наиболее проверенным в боях является Ubuntu / Debian. Однако вы можете скачать любой другой дистрибутив. Но вы должны сами упаковать его, чтобы использовать с Vagrant: https://www.vagrantup.com/docs/virtualbox/boxes.html

Просто скажу, что docker-machine было хорошим решением для этих пользователей Linux, так же, как и для пользователей старых Mac и старых Windows ... Все, что требовалось, - это запустить докер на нестандартном порте вместо жестко запрограммированный 2376? И новый драйвер qemu, для которого не требуется группа libvirt (т.е. root). Возможно, в будущем альтернативой будет Infrakit / Hyperkit, но на данный момент (ссылка выше) он все еще выглядит довольно грубым.

@Vanuan : Я знаю о параметрах ubuntu / vagrant, я просто назвал его просто « Docker Engine » выше.

@justinclift : каждый пользователь получает свои собственные ssh-ключи / сертификаты докеров, поэтому машины разумно разделены.

@afbjorklund Не беспокойтесь. Прошли годы с тех пор, как я работал в Red Hat в команде Libvirt. В наши дни я обычно просто использую его для диагностики проблем, вместо того, чтобы вдаваться в подробности. :улыбка:

@afbjorklund Давайте

вы также можете упомянуть пользователей Linux, которые не хотят переходить на Mac или Windows ...
В любом случае, переход на Docker Desktop не вариант - это либо Docker Engine, либо DIY LinuxKit?
Я знаю о параметрах ubuntu / vagrant, я просто назвал их просто «Docker Engine» выше.

boot2docker - это и дистрибутив ( boot2docker.iso ), и инструмент для управления виртуальным боксом ( boot2docker.iso включает Docker CE (бывший Docker Engine):

https://github.com/boot2docker/boot2docker/blob/d465167d83310295b5847ba315905f52c3ca1435/Dockerfile#L426 -L435

И это будет постоянно обновляться до новых выпусков Docker CE.

Boot2docker-cli исчез, но по сути он просто

Docker-машина с драйвером KVM использует boot2docker.iso для предоставления _Docker CE_ новым виртуальным машинам libvirt .

Docker Desktop использует дистрибутивы, созданные с помощью linuxkit, для подготовки _Docker CE_ к Hyper-V и xhyve.


Чтобы все это представить:
infrastructure


Итак, как видите, все решения включают в себя Docker Engine (в настоящее время называемый Docker CE для Linux ) так или иначе.

Слишком много сред и решений виртуализации / облачных вычислений. Следовательно, нет ни одного инструмента, который мог бы одинаково хорошо работать в windows / mac / linux и поддерживать QEMU / Virtualbox / xhyve / Hyper-v вместе с различными облаками и инициализацией по SSH. И такой инструмент также нуждается в настраиваемости: поддержка различных портов, управление ресурсами памяти / процессора, работа в сети и т. Д. Так что, вероятно, лучшим решением будет инструмент общего назначения вместе с некоторым файлом конфигурации, загруженным через http.

@Vanuan : да, это то, что мы сказали выше. Чтобы заменить докер-машину, вам нужно переключиться на Mac или Windows и Docker Desktop - по крайней мере, пока _someone_ не создаст нечто подобное с LinuxKit и libvirt ...

Нам больше не нужно говорить о boot2docker-cli, а поддержка драйверов Linux _ уже_ перенесена в организацию «machine-drivers» - поскольку со стандартной машиной-докером доступен только VirtualBox.

@ shin - Если вы больше не разрешаете новые функции, рассмотрите возможность добавления очень четкого примечания в верхней части README.md AND CONTRIBUTING.md .

Очень неприятно внимательно читать оба этих файла, внедрять драйвер (несколько дней работы) и не осознавать, что вы, ребята, больше никогда не объедините какой-либо драйвер. Это должно быть понятнее.

Если это все недоразумение и мне все еще разрешено тянуть запрос моего драйвера, сообщите нам об этом. Просто на данный момент он упоминается только в скрытом файле, который люди увидят после создания запроса на перенос.

До сих пор нет четкой информации о режиме обслуживания в README.md и / или CONTRIBUTING.md . Я потратил половину своего отпуска, чтобы найти рабочее решение для создания виртуальной машины ProxmoxVE и облегченного Linux для развертывания Docker - я обнаружил, что комбинация docker-machine + docker-machine-driver-proxmox-ve довольно хорошо работает для этого использования дело. К сожалению, он полагается на boot2docker, который говорит, что он устарел в пользу docker-machine а сопровождающий в каком-то потоке предлагает Rancher OS. docker-machine переход в режим обслуживания без четкого определения того, что это значит (утверждение, что будут приняты только исправления ошибок, и предположение, что это нормально для новых проектов, - это ИМО в противоречии). Также было упомянуто официальное объявление в августе 2018 года, но никаких признаков упоминания здесь нет.

С точки зрения стороннего наблюдателя, который хочет построить разумную инфраструктуру для SMB, docker-machine не выглядит правильным долгосрочным решением. Кто-нибудь может предложить, что было бы Reasonably Good ™ для подготовки и управления виртуальной машиной ProxmoxVE в качестве гипервизора и минимального Linux, поддерживающего Docker?

К сожалению, он полагается на boot2docker, который говорит, что он устарел в пользу docker-machine, а сопровождающий в каком-то потоке предлагает Rancher OS.

Не могли бы вы уточнить, где boot2docker объявляется устаревшим в пользу docker-machine, чтобы я мог уточнить это соответствующим образом? (потому что это неверно, если вы не имеете в виду очень конкретно древний инструмент boot2docker CLI, который не поддерживался активно в течение многих лет)

Распределение boot2docker (в частности, артефакт boot2docker.iso выпускаемый с каждым новым выпуском Docker CE) не исчезнет в ближайшее время, насколько мне известно, хотя он имеет очень узкую направленность сейчас (и, следовательно, новые функции / функции вряд ли будут рассматриваться для слияния).

@tianon Вы правы, извините за недоразумение. В сообщении на сайте написано boot2docker CLI - на первый взгляд мне было непонятно, есть ли разница. Я почти уверен, что другие пользователи тоже могут запутаться, поскольку, скорее всего, вы столкнетесь с boot2docker.iso . boot2docker CLI - это то, о чем вы никогда не слышали, трудно сказать, какова взаимосвязь между проектами. OTOH boot2docker.iso statement "maintenance mode" расплывчато так же, как docker-machine , что я делаю на основании этого ответа .

Подводя итог путанице:

  1. "maintenance mode" - не ясно в обоих проектах, могу ли я использовать это для производства в малом бизнесе?
  2. оба проекта ведущие разработчики / сопровождающие предлагают использовать другие проекты, которые не охватывают все ранее поддерживаемые варианты использования.

В идеале было бы иметь четкое заявление от @tianon и @ shin- если использование docker-machine подходит для производства?

Я не могу говорить о Docker Machine, но boot2docker никогда не был хорошим выбором для продакшена; его цель - разработка / использование персональной рабочей станции.

См. Также добавленные примечания на https://github.com/boot2docker/boot2docker#readme , где я попытался пояснить, что мы подразумеваем под режимом обслуживания, и то, что b2d не предназначен и не рекомендуется для производственных рабочих нагрузок.

Как и многие другие, я был разочарован, узнав об этом из выпусков Github Issues, после того ,

Я создал PR для обновления официальной документации, добавив рекомендации о режиме обслуживания машины.

См. Https://github.com/docker/docker.github.io/pull/9239

Было бы неплохо изменить докер, чтобы начать работу https://docs.docker.com/get-started/part4/

edit: найдено решение, которое заключается в установке docker-ce на экземпляр aws ec2, а затем ssh-порт перенаправляет демон докера.

ssh -NL localhost:23750:/var/run/docker.sock -i ***.pem ubuntu@***.compute.amazonaws.com
docker -H tcp://localhost:23750 run hello-world

🎉

Я начал использовать docker-machine недавно, потому что он был установлен вместе с Docker Desktop, и я понял, что могу запустить docker на экземплярах aws, намного более мощных, чем моя локальная машина. Прелесть в том, что локальные приложения, использующие команды докеров, такие как Visual Studio Code, могут работать с контейнерами докер-машин, как если бы они работали локально.

Мне кажется, что docker-machine не была заменена, так как есть много новых способов предоставления кластеров, включая Infrakit, Kubernetes и т. Д.

Я мог быть недоразумением. Есть ли стратегия миграции для того, что я описал выше?

Мы используем GitLab с их инструментом GitLab Runner для динамической подготовки спотовых экземпляров EC2 для выполнения заданий CI / CD. GitLab Runner использует Docker Machine для подготовки этой машины.

Мы решили переместить все сервисы с (раздутой) Ubuntu в пользу Amazon Linux 2. К моему удовольствию, PR # 3609 позволяет это сделать.

Однако из-за «закрытия крана» # 3609 кажется, что он умрет на месте. Пожалуйста, рассмотрите возможность слияния в его текущем неконфликтном, объединяемом состоянии.

Поскольку ребята из Gitlab уже поддерживают форк, может быть, им было бы интересно позаботиться об этом репо?

@ usha-mandya @ Dawn-Wood есть обновления на docker / docker.github.io # 9239? Напоминаем, что он добавляет рекомендательные предупреждения на все страницы Docker Machine. Это было объединено, но затем было отменено, когда происходило разделение предприятия, чтобы вы могли принять некоторые решения относительно будущего DM. Было бы хорошо получить эту консультацию, если DM будет продолжать находиться в режиме обслуживания.

AFAIK, последняя версия Docker Desktop больше не включает docker-machine

AFAIK, последняя версия Docker Desktop больше не включает докер-машину

Только что узнал об этой проблеме таким образом, так как наши внутренние инструменты для докеров перестали работать после обновления до версии Docker для ПК 2.2.0.0.

Это немного раздражает, что этот шаг также не упоминается в примечаниях к выпуску для настольных ПК.

Мы активно используем docker-machine для управления и обслуживания общих docker-машин на основе booot2docker для внутренних сред разработки и промежуточных сред с использованием драйвера Hyper-V (поэтому мы предоставляем виртуальные машины boot2docker hyper-v с помощью docker-machine). Таким образом, несмотря на то, что у нас есть клиенты для Linux и Mac, и поэтому мы используем docker для Windows / OS X, мы по-прежнему сильно полагаемся на docker-machine для наших материалов CI / CD.

Мне не известно о какой-либо подобной замене для этой установки - я упускаю здесь что-то очевидное?

Вы всегда можете загрузить последнюю версию двоичного файла с помощью brew (macOS) и напрямую
из репо. Он все еще поддерживается (патчи), но медленно
отказались от таких инструментов, как Docker Desktop.
https://github.com/docker/machine/releases

В понедельник, 27 января 2020 г., в 11:47 утра sambernet [email protected] написал:

AFAIK, последняя версия Docker Desktop больше не включает
докер-машина

AFAIK, последняя версия Docker Desktop больше не включает
докер-машина

Только так узнал об этой проблеме, поскольку наша внутренняя докер-машина
инструменты перестали работать после обновления до докера для рабочего стола 2.2.0.0

Это немного раздражает, этот ход не упоминается в докере для
примечания к выпуску для настольных ПК.

Мы активно используем docker-machine для управления и поддержки общих
Докер-машины на основе booot2docker для внутренней разработки и постановки
среды, использующие драйвер Hyper-V (поэтому мы предоставляем boot2docker hyper-v
ВМ с использованием докер-машины). Итак, даже если у нас есть клиенты для Linux и Mac,
поэтому используйте docker для windows / os x, мы по-прежнему сильно полагаемся на docker-machine
для наших материалов CI / CD.

Мне неизвестна подобная замена для этой установки - мне не хватает
что-то здесь очевидное?

-
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/docker/machine/issues/4537?email_source=notifications&email_token=AAGBNX2APIHK6CBNGSAMLDDQ74FYPA5CNFSM4FJ53G3KYY3PNVWWK3TUL52HS4DFVREXORPNVWWK3TUL52HS4DFVREXG43LVMVMX4DFVREXG43LVMVMX4DFVREXG43VMWM
или отписаться
https://github.com/notifications/unsubscribe-auth/AAGBNXZV7PCYP3TLWSZ7QODQ74FYPANCNFSM4FJ53G3A
.

Я также узнал, что на прошлой неделе docker-machine постепенно прекращается 😒
На docs.docker.com написано, что docker-machine "заменен", но я не могу найти никакой информации о том, чем он заменяется. Я хочу продолжать управлять своими локальными виртуальными машинами с ЧТО-ТО, какие-нибудь советы о том, как это сделать в будущем?

export DOCKER_HOST = ssh: // user @ host может работать для вас

Я хочу продолжать управлять своими локальными виртуальными машинами с ЧТО-ТО, какие-нибудь советы о том, как это сделать в будущем?

Возможно, вы можете использовать для этого Vagrant? Или вы могли бы просто продолжать использовать docker-machine ...

Но вам придется прийти сюда за двоичными файлами, поскольку он больше не является частью Docker (Desktop).

Мне не известно о какой-либо подобной замене для этой установки - я упускаю здесь что-то очевидное?

Замены нет, но многие люди заинтересованы в продолжении использования машины и libmachine.

Конечно, есть альтернативы (разные продукты), но на самом деле это не одно и то же (как вилки).

@afbjorklund Ну, я надеюсь, что докер-машина останется ... и я бы хотел получить ее прямо отсюда, но по какой-то причине загрузка с github для меня очень медленная. Первые 10-12 МБ проходят через несколько секунд (как я и ожидал с моей довольно быстрой линией), затем скорость снижается до 1-2 КБ / с и в конечном итоге выходит из строя. Я знаю, что это не по теме, но я уверен, что это не моя линия, может быть, github по какой-то причине дросселирует?

Если это не просто что-то, что происходит с вами прямо сейчас (только), то, вероятно, лучше всего сообщить об этом в службу поддержки GitHub.

Я очень смущен тем, как лучше всего просто развернуть мои контейнеры.
Создание контейнеров с помощью Docker продвигается как стандартный и широко используемый способ создания сервисов. Вот что я использовал для создания контейнеров для веб-сайта, который создаю сейчас.
Но тогда мне, очевидно, нужно развернуть эти контейнеры на моем VPS. Поэтому я использую докер-машину, поскольку это единственный документированный, а не устаревший способ, который я знаю. И теперь я узнал, что он находится в «режиме обслуживания», поэтому я, возможно, не захочу использовать его в новом проекте, но что такое «Инфракит»? Есть 2K звезд, но мне трудно понять, для чего он нужен (и может ли он просто заменить докер-машину) или официальной документации, и теперь он находится в режиме только для чтения (заархивирован), поэтому я чувствую, что мне даже не следует его использовать и в этом репозитории Readme / issues нет ссылки на новый репозиторий. Почему нет документации и прекращается выпуск, если он заменяет докер-машину.
Docker кажется таким популярным решением, но я не могу найти ни одного не прекращенного (или находящегося в «режиме обслуживания») способа развертывания моих контейнеров. Если докер так широко используется, как, возможно, миллионы разработчиков, работающих с ним, справляются с развертыванием своего приложения?

Я думаю, что изначально Docker продвигал Docker EE, его платную версию, как официальный способ развертывания контейнеров. Поэтому они отвергли инициативы Docker Machine и Infrakit, поскольку они угрожали их бизнес-модели.

Кроме того, k8s полностью изменил ситуацию, и Docker изо всех сил пытался адаптироваться.

Теперь, когда Mirantis приобрел Docker EE, Docker ищет другую бизнес-модель. Я думаю, что новое направление пытается внедрить пакеты приложений в экосистему k8s и оставить само развертывание k8s на усмотрение сообщества. Тем более, что k8s не входит в состав Docker CE (в Linux).

K8s, OTOH управляется Google, у которого есть все стимулы для того, чтобы сделать развертывание K8s настолько сложным, что люди буквально сказали бы: «Эй, Google, пожалуйста, установите мне кластер K8s». Таким образом, привязка к облачным сервисам Google.

Таким образом, видение Соломона Хайкса об освобождении облака от привязки и превращении облака в товар полностью провалилось.

@NitroBAY Поскольку «жизненного цикла программного обеспечения» с кодовым создания до приложений , работающих на серверах (и в конечном итоге обновляются на серверах) настолько сложна, с тонной различной пути «получения контейнера изображений , встроенные и загруженные на серверы», это трудно сказать каким должно быть ваше решение.

Первоначально докер-машина должна была делать три вещи:

  1. предоставление простых виртуальных машин у основных поставщиков облачных услуг или диспетчера виртуальных машин на локальном компьютере (VirtualBox, Hyper-V, VMWare, Parallels и т. д.)
  2. установить докер на эту виртуальную машину, включая самозаверяющий сертификат и открытие TCP-порта API
  3. легкий ssh ​​на этот сервер и удаленное управление докером с помощью docker cli (docker-machine env)

(давайте забудем об устаревших функциях, таких как создание классического роя)

С первым «создание виртуальной машины Linux»: я рекомендую вам заменить ее на инструмент вашего облака по выбору для того, как они создают виртуальные машины. Если он локальный, и вам нужно что-то быстрее, чем установка виртуальной машины Linux, попробуйте многопроходный режим , который является моим любимым способом развернуть новую виртуальную машину Ubuntu за считанные минуты с помощью одной команды.

Со вторым «установка докера на виртуальную машину Linux»: вы можете установить докер на любую современную виртуальную машину, используя сценарий установки или официальную документацию для вашего дистрибутива ОС . У большинства облаков есть официальный образ с уже установленным докером в качестве опции.

Docker никогда не был в состоянии решить все ваши проблемы с CI / CD, а docker-machine на самом деле всего лишь инструмент для подготовки и базовой установки виртуальных машин, поэтому многим людям требовалось более гибкое и удобное в обслуживании решение (например, docker-machine не может легко делиться конфиги серверов между машинами). Команда Docker никогда не рассчитывала, что станки решат все эти проблемы. Он до сих пор работает с этими оригинальными вещами, поэтому не стесняйтесь использовать его, пока он работает для вас. Я до сих пор использую его ежемесячно, причем с 2015 года.

Возможно, если вы подробно опишете конкретную проблему, которую решает докер-машина, мы могли бы порекомендовать конкретные альтернативы, которые вы могли бы реализовать.

Например, что касается пункта 3 выше «удаленное управление докером» , мне всегда нравилось, что докер-машина предоставляла самозаверяющий сертификат для аутентификации API и позволяла мне изменять свой docker env локально, чтобы он мог управлять удаленным сервером. Этот устаревший метод был заменен гораздо более простым (и более гибким и безопасным) методом встраивания туннеля SSH для интерфейса командной строки докера с 2018 года. Это означает, что все, что вам нужно, это возможность подключения к серверу по SSH, и вы можете сообщить local docker cli, чтобы использовать это вместо традиционного «open docker TCP socket». Это дает мне возможность никогда не подключаться вручную по SSH к серверу, на котором запущен докер, просто для того, чтобы «запустить докер». Мне просто нужно указать моему локальному интерфейсу командной строки докера, к которому подключиться, одним из двух способов: у меня есть его быстрая демонстрация с использованием метода env DOCKER_HOST , и прошлым летом у нас была или TCP для удаленного управления ими.

Кроме того, InfraKit - это инструмент для сборщиков систем (тех, кто создает собственные ОС Linux), а не пользователей Linux, таких как мы, которые хотят создать нормальный дистрибутив Linux с помощью нашего хостера и установить на него докер.

Вау, @BretFisher, большое спасибо за очень подробный ответ. Я уверен, что это будет также золотым подарком для будущих людей, которые будут вас читать.
Для записи я создал сценарий, загружающий мой config.json на удаленный компьютер (чтобы он мог загрузить мое личное изображение) и файл композиции. И затем выполнение "развертывания стека докеров"
Мое развертывание sh выглядит так

#!/bin/bash
ssh -o StrictHostKeyChecking=no -l root "$HOST" root@$HOST "mkdir /opt/app; mkdir /root/.docker"
source ./devops/generate-branch-hostname.sh
scp ./devops/docker-compose-prod.yml root@$HOST:/opt/app/docker-compose-prod.yml
scp $HOME/.docker/config.json root@$HOST:/root/.docker/config.json
echo "BRANCH_HOSTNAME=$BRANCH_HOSTNAME"
ssh root@$HOST "export BRANCH_HOSTNAME=$BRANCH_HOSTNAME; docker stack deploy --compose-file /opt/app/docker-compose-prod.yml webapp --with-registry-auth"

(BRANCH_HOSTNAME явно не нужен, просто у меня есть разные поддомены на основе ветки Git, которые запускают мой скрипт (я использую CI / CD))
И я до сих пор использую docker-machine create, чтобы иметь докер на моем удаленном VPS Ubuntu.

В любом случае докер-машина НЕ является хорошей идеей для CI / CD, потому что совместное использование сертификата непросто (это целая папка), а восстановление сертификата может остановить Docker, поэтому это тоже не вариант.

Я по-прежнему считаю, что должен существовать инструмент (созданный сообществом или докером), который будет предоставлять DOCKER_HOST и т.д. и просто использовать ключ SSH. Это было бы проще, чем «scp» и «ssh».

Докер-машина оказалась не неизбежной.

Я не профессионал, я просто тот, кто научился собственному веб-программированию и подрабатывает в свободное время над большим проектом, поэтому я не думаю, что K8s соответствует моим потребностям, поскольку он описывается как непростой инструмент. только как минимум для средних / крупных профессиональных команд, а не для одного человека, у которого мало времени, и он занимается одновременно разработкой (интерфейс / серверная часть) и развертыванием. Итак, я догадался, что для Docker все еще есть место, но, возможно, из-за отсутствия у них проблем с фудингом, о которых я слышал, должно быть яснее официальный предпочтительный способ развертывания приложений и их планы относительно преемника докер-машины или если они у меня нет плана по этому поводу.

Я по-прежнему считаю, что должен существовать инструмент (созданный сообществом или докером), который будет предоставлять DOCKER_HOST и т.д. и просто использовать ключ SSH. Это было бы проще, чем «scp» и «ssh».

Просто сделай export DOCKER_HOST=ssh://[email protected]

Обратите внимание: если у вас отключен вход по ssh для пользователя root , вы можете использовать пользователя без полномочий root user через
export DOCKER_HOST=ssh://[email protected] после добавления user в группу docker с помощью sudo usermod -aG docker user . (проверено на Ubuntu 18.04)

Есть ли альтернатива игре с многоузловым Docker Swarm в Windows? В руководстве по рою говорится, что в настоящее время это невозможно в Windows без Docker Machine:

В настоящее время вы не можете использовать Docker Desktop для Mac или Docker Desktop для Windows в одиночку для тестирования многоузлового роя. Однако вы можете использовать включенную версию Docker Machine для создания узлов роя (см. Начало работы с Docker Machine и локальной виртуальной машиной), а затем следовать руководству по всем функциям, связанным с несколькими узлами.

Я использую https://multipass.run/, чтобы быстро создать несколько виртуальных машин Ubuntu. Так же быстро, как докер-машина. Посмотрите демонстрацию того, как я использую его для трехузлового Swarm: https://www.pscp.tv/BretFisher/1mrGmQvNEWBGy?t=

Его настольное использование в основном было вытеснено нашим продуктом Docker Desktop.

Обратите внимание на всех участников этой цепочки: Docker Desktop не является бесплатным программным обеспечением, не имеет открытого исходного кода и содержит множество встроенных шпионских программ, так что вы можете дважды подумать, следуя этому пути обновления.

Если это может быть полезно для кого-то, вот сценарий для установки докера на удаленном хосте (протестирован на Debian 10 = buster):
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252

Он основан на платформе автоматизации сервера под названием Fabric (в частности, fab-classic github и docs ). Даже если вы не хотите использовать Fabric, вы можете легко прочитать команды и запустить их вручную, превратившись в сценарий bash, поскольку ничего особенного.

После этого запустите export DOCKER_HOST=ssh://[email protected] и все вернется к тому, как было при использовании докерной машины.

Обратите внимание на всех участников этой цепочки: Docker Desktop не является бесплатным программным обеспечением, не имеет открытого исходного кода и содержит множество встроенных шпионских программ, так что вы можете дважды подумать, следуя этому пути обновления.

@sneak «тонна шпионского ПО». Вы имеете в виду настройку «Отправлять статистику использования» в настройках, в которой говорится: «Отправлять отчеты об ошибках, версию системы и язык, а также информацию о жизненном цикле Docker Desktop (например, запускает, останавливает, сбрасывает)», что можно выключить?

Мне не интересно тратить время на дальнейшее обсуждение проприетарных шпионских программ с закрытым исходным кодом.

тролль низкого качества

Троллинг требует уловок. Я искренен, и мои утверждения точны:

  • рабочий стол докера проприетарный

  • docker desktop - это программное обеспечение с закрытым исходным кодом

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

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

Я нахожусь на GitHub и других сайтах, как это работает над бесплатным программным обеспечением и открытым исходным кодом, а несвободные проекты, такие как рабочий стол Docker, просто отвлекают от работы над бесплатным программным обеспечением, которое приносит пользу всем; У меня нет желания отвлекать свое время или внимание на такие вещи.

Было бы хорошо, если бы вы обратились к проблемам напрямую, а не прибегали к личным нападкам. Отключаем эту ветку сейчас, хорошего дня.

Если это может быть полезно для кого-то, вот сценарий для установки докера на удаленном хосте (протестирован на Debian 10 = buster):
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252

Он основан на платформе автоматизации сервера под названием Fabric (в частности, fab-classic github и docs ). Даже если вы не хотите использовать Fabric, вы можете легко прочитать команды и запустить их вручную, превратившись в сценарий bash, поскольку ничего особенного.

После этого запустите export DOCKER_HOST=ssh://[email protected] и все вернется к тому, как было при использовании докерной машины.

@ivanistheone НЕТ, это не так. docker-machine - это (было?) Здорово, потому что он также реализует все API-интерфейсы различных облачных провайдеров для единообразного создания машин в интерфейсе командной строки. Конечно, есть gcloud , az и т.д., но у каждого из них разные параметры и семантика. docker-machine - это единый интерфейс командной строки для всех из них. Это немного упрощает работу с гибридными облаками ...

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