Обновить

Комментарии 6

Отличная статья, спасибо.

Благодарю!

Если нужно использовать частный реестр, то можно использовать варианты

Можно еще посмотреть в сторону Nora. Работает 2 в 1: и как полноценный registry и как pull-through cache / прокси для Docker Hub и других OCI-совместимых реестров. Сильно ускоряет сборку и деплой приложений, потребляет минимум ресурсов. https://habr.com/ru/articles/1021960/

Лютый лонгрид

Принятие решения об используемой архитектуре в проекте становится проще, так как приложению теперь без разницы где запускаться;

Что это значит? Один и тот же контейнер будет работать и на х86, и на АRМ? Там же должны быть разные бинарники?

Или имеется в виду, что он будет работать и на Windows, и на Мас? Я слышал, он там работать будет, но заметно медленнее? Или я отстал от жизни?

Один и тот же контейнер будет работать и на х86, и на АRМ?

Да, но с условиями. Если используется Docker desktop (а он сейчас появился и под Linux), то можно просто запустить x86 контейнер на ARM и он автоматически под капотом пропустит его через QEMU, на Mac - через Rosetta. Повлияет ли это на скорость сказать не могу. Запускал x86 контейнеры на M3 чипе и на глаз разницы не уловил, но там не было огромных баз данных или огромных приложений, так что точно сказать не могу. Если на Linux нет docker desktop, то можно подключить использование QEMU к “голому” Docker через вспомогательный контейнер:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

Также можно собирать образы под другую архитектуру, например:

docker build --platform linux/amd64 -t nginx:amd64
или
docker build --platform linux/arm64 -t nginx:arm64

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

А вот разницы на какой ОС запускать контейнеры нет. На windows Docker desktop работает через WSL 2, а на macOS через скрытую виртуализацию дистрибутива Linux. Разницы в производительности при запуске на Linux и других ОС не замечал.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации