LINUX.ORG.RU

Apple представила Apple Container 1.0, программу, позволяющую запускать Linux-контейнеры прямо на macOS

 , ,

Apple представила Apple Container 1.0, программу, позволяющую запускать Linux-контейнеры прямо на macOS

1

3

Проект стал развитием ранее открытого решения, которое компания показала около года назад как альтернативу классическим контейнерным платформам вроде Docker. По сути, это CLI-утилита, с помощью которой можно создавать, запускать и публиковать OCI-совместимые контейнеры, с интеграцией в macOS и собственным способом их запуска.

Так как macOS не поддерживает Linux-контейнеры напрямую, Apple использовала подход с легкими виртуальными машинами. Каждый контейнер запускается внутри изолированного Linux-окружения, фактически получая собственную микросистему. Это чем-то напоминает WSL от Microsoft.

В отличие от классических контейнеров, которые обычно рассчитаны на один процесс, здесь речь идет о более полном окружении. Такое Linux-пространство может работать долго, запускать фоновые сервисы и сохранять состояние между сессиями — почти как полноценная система внутри macOS.

Одна из ключевых фишек — максимально тесная связка с системой. Домашняя папка macOS автоматически доступна внутри Linux-окружения. Поэтому код, репозитории и настройки можно использовать одновременно в обеих средах.

Все это позволяет писать код в привычном редакторе на macOS и при этом собирать и запускать его в Linux без лишних переключений.

Также поддерживаются разные дистрибутивы — от Ubuntu и Debian до Alpine, причем каждое окружение можно настроить отдельно.

Apple добавила управление контейнерными «машинами»: их можно создавать, запускать, останавливать, настраивать ресурсы и выбирать поведение файловой системы. Есть даже поддержка более продвинутых сценариев вроде фоновых сервисов внутри Linux-окружения.

Единственное ограничение для получения подобной функциональности: для расширенных сценариев с вложенной виртуализацией требуется Mac на процессоре M3 и новее, а также macOS 15 и специальное ядро с поддержкой KVM. (Автор новости это не тестировал и не может с достоверностью прокомментировать и ответить подробно, что они имеют в виду).

Несмотря на появление нового инструмента, он не заменяет Docker Desktop. У Docker по-прежнему сильнее экосистема, привычные инструменты разработки, GUI и широкая поддержка рабочих процессов.

Apple Container 1.0 это скорее попытка предложить более «родной» способ работы с Linux-средой на Mac — ближе к системе, но пока не как универсальная замена привычным контейнерным платформам.

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)

Домашняя папка macOS автоматически доступна внутри Linux-окружения.

Удобно-то как!

MoldAndLimeHoney ★★★
()

Работа с чужой системой, используя инструменты своей системы – это хорошо. Повышается однородность представление неоднородных систем.

Именно это делает системы распределёнными.

kaldeon ★★
()

не нужно, есть orbstack

yatazet
()
Ответ на: комментарий от mittorn

Поинт в том, что всл1-стайл ничего хорошего не даёт:

  1. Эмулятор ядра в виде драйвера — сложен в реализации.
  2. Работает медленнее.
  3. Может уронить ведро хостовой системы.

От этих бед спасает использование настоящего ядра с аппаратной виртуализацией…

Set440 ★★
()

Ну и чем это лучше podman, который там 100 лет как работает по ровно той же схеме с виртуалками? NIH-синдромом у гнилого яблока?

В отличие от классических контейнеров, которые обычно рассчитаны на один процесс

эту чушь ты надеюсь не сам придумал?)) Ничего не мешает запускать сколько угодно процессов в одном контейнере, просто там нужен супервизор типа s6-overlay, который будет их прибивать по сигналу.

Lrrr ★★★★★
()
Последнее исправление: Lrrr (всего исправлений: 1)
Ответ на: комментарий от steemandlinux

ну если так хочется, то можно и на линуксе виртуалки подманом гонять. Там он вроде через qemu работает.

Lrrr ★★★★★
()
Ответ на: комментарий от mittorn

Сделали бы аналог wsl1 или линуксулятора, но здесь не оно…

Зачем? большинство линуксового софта, который может быть интересен, и так под макосью работает практически идентично.

Для разработки удобнее именно нормальный линукс в виртуалке/контейнере иметь, потому что разворачиваться он будет под линуксом, а не под какимто мутным слоем совместимости.

mono ★★★★★
()
Ответ на: комментарий от rukez

Только для сценариев с вложненной виртуализацией, если следовать тексту новости.

mono ★★★★★
()
Ответ на: комментарий от Set440

Эмулятор ядра в виде драйвера — сложен в реализации.

Но WSL1 сделать смогли, значит не настолько сложен. Линуксулятор тоже есть. Не вижу проблем

Работает медленнее.

WSL2 работает медленнее WSL1

Может уронить ведро хостовой системы.

см. пункт1 - там ведь не роняет

mittorn ★★★★★
()
Ответ на: комментарий от mono

Затем что оркестратор для виртуалок не особо интересен с технической точки зрения. Такие уже существуют, здксь это лишь завёрнуто в коробочку официальной поддержки, но фактически ничего нового

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

M$ на днях выкатил такую же фичу для WSL, кстати - «WSL Container»

Yustas ★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

«Богатая экосистема» докера нужна десктопе не всем и не всегда.

Мне, время от времени, приходится запускать контейнеры на рабочем маке, а запрашивать для этого лицензию…

Для запуска контейнеров (локально) я пару лет как использую finch.

Yustas ★★★★
()
Последнее исправление: Yustas (всего исправлений: 1)
Ответ на: комментарий от mittorn

Новое в том, что docker, orbstack, podman и иже с ними смогут не изобретать собственный «оркестратор виртуалок», а использовать официальный движок apple, который «мамой клянус» лучше работает в окружении macOS на родных процессорах.

Дело даже не в «оркестраторе виртуалок», а в том как запустить одну виртуалку, в которой уже разворачивать контейнеры, как сейчас делает docker.

Если проблему виртуализации заберёт на себя вендор платформы, то все только выиграют. Пока apple довольно открыто делится своими наработками и не пытается переизобрести docker.

Как будет на практике, будем посмотреть. Apple может и облажаться.

mono ★★★★★
()
Последнее исправление: mono (всего исправлений: 1)
Ответ на: комментарий от Lrrr

Ничего не мешает запускать сколько угодно процессов в одном контейнере,

Штаны через голову надевать тоже никто не мешает. Только неудобно будет. Контейнер — это процесс + окружение, которое гарантирует его работу. Пытаться превратить контейнер в подобие виртуальной машины можно. Но это путь боли и страдания. Виртуалки делают всё то же самое гораздо лучше.

ugoday ★★★★★
()
Ответ на: комментарий от Lrrr

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

firkax ★★★★★
()

максимально тесная связка с системой. Домашняя папка macOS автоматически доступна внутри Linux-окружения.

Всё у них через заднее место. Так то фишкой контейнеров является изоляция.

Поэтому код, репозитории и настройки можно использовать одновременно в обеих средах.

А зачем это надо? Я в макосях не разбираюсь, так что мне не понятно, почему возможности прокинуть папку с кодом в сборочный контейнер не хватает? Как вообще рабочий процесс, где такая фишка востребована выглядит?

ugoday ★★★★★
()

О, маслятам завезли WSL2! С барского плеча! Барин 6 лет носил, теперь масленок доносит. Хахаха!

dobro
()
Ответ на: комментарий от firkax

линукс хотя бы избавится от этой напасти.

Доколе существует динамическое связывание — не избавится.

ugoday ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.