Apple представила Container 1.0.0 — нативну альтернативу Docker Desktop для Mac
Apple представила Container 1.0.0 — опенсорс-інструмент для запуску Linux-контейнерів на Mac. На відміну від звичного підходу, коли всі контейнери працюють усередині спільної віртуальної Linux-машини, Apple пропонує запускати кожен контейнер в окремій полегшеній віртуальній машині.
Проєкт повністю написаний на Swift та оптимізований під Mac на базі чипів Apple Silicon. Важливо, що розробники Apple вирішили не створювати закриту екосистему і використали звичні OCI-образи. Завдяки цьому користувачі можуть працювати з образами з container registry, а зібрані за допомогою Container образи без проблем запускаються в інших OCI-сумісних інструментах.
Сенс підходу Apple полягає в тому, що для кожного контейнера створюється окрема легковагова віртуалка, а не одна загальна для всього середовища. У релізну версію додали функцію container machine для довгоживучих Linux-оточень. Це дозволяє запускати повноцінну систему ініціалізації на кшталт systemd та тримати фонові служби разом із вашим застосунком. Інструмент автоматично мапить ім’я користувача macOS та монтує домашню директорію всередину контейнера за шляхом /Users/<username>.
Для створення нового середовища на базі Alpine Linux достатньо виконати одну команду в терміналі.
container machine create alpine:latest --name dev
Після цього можна вже виконувати команду. Домашня директорія Mac буде доступна всередині одразу з правами на читання та запис.
container machine run -n dev pwd
Для інструменту передбачили короткий аліас m, тому команди можна зручно скорочувати. Наприклад, виведення списку машин виглядатиме як container m ls.
Розробники також надали гнучкі інструменти для управління ресурсами. Зміна кількості ядер процесора або обсягу оперативної пам’яті відбувається через спеціальну команду налаштування. За замовчуванням під пам’ять виділяється половина від загального обсягу RAM вашого Mac.
container machine set -n dev cpus=4 memory=8G
Також будь-який Linux-образ із наявним /sbin/init працюватиме як container machine. Можна зібрати власне середовище з потрібними утилітами за допомогою звичайного Dockerfile. У ньому достатньо вказати встановлення systemd та налаштувати цільовий рівень запуску системи.
FROM ubuntu:24.04 ENV container container RUN apt-get update && \ apt-get install -y \ dbus systemd openssh-server net-tools iproute2 iputils-ping curl wget vim-tiny man sudo && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ yes | unminimize RUN >/etc/machine-id RUN >/var/lib/dbus/machine-id RUN systemctl set-default multi-user.target RUN systemctl mask \ dev-hugepages.mount \ sys-fs-fuse-connections.mount \ systemd-update-utmp.service \ systemd-tmpfiles-setup.service \ console-getty.service RUN systemctl disable \ networkd-dispatcher.service RUN sed -i -e 's/^AcceptEnv LANG LC_\*$/#AcceptEnv LANG LC_*/' /etc/ssh/sshd_config
Зібрати такий кастомний образ і створити з нього машину можна стандартними командами збірки. Якщо вам потрібно виконати власні скрипти при першому завантаженні, інструмент підтримує запуск файлу /etc/machine/create-user.sh з передачею необхідних змінних оточення.

Apple зазначає, що сприймати Container як повноцінну заміну Docker Desktop для всіх сценаріїв поки зарано. Проєкт щойно дійшов до версії 1.0, а частина звичних можливостей класичних контейнерних інструментів усе ще перебуває в розробці, але як альтернатива виглядає непогано. Думаю в майбутньому інструмент буде ставати лише краще і краще, тому забивати на нього точно не варто.
Завантажити та спробувати новинку можна командою:
brew install container
Запустити систему:
container system start
6 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівgithub.com/apple/container Ой побачив що це той самий репозиторій про який йдеться у статті
Вау! Круто! Apple винайшли QEMU! Ура! Нарешті! :-D
Всього 23 роки пройшло! Молодці :)
Нативно — це під Linux, а тут все одно віртуальна машина.
Оо, в Colima зʼявиться свій конкурент. Буде цікаво подивитись на них в порівняння, коли Контейнер трохи розвинеться
Не забувайте про OrbStack
не пройшло й півроку. Ось за це і ми любимо Епл — цей оплот інноваційності