Технология блокчейн

Публикация Docker-контейнера для Microsoft Edit в GitHub Container Registry: подробное руководство для Apple Silicon Mac

Технология блокчейн
Publishing a Docker Container for MS Edit to the GitHub Container Registry

Подробное руководство по созданию, сборке и публикации Docker-образа текстового редактора Microsoft Edit для архитектуры ARM64 на базе Apple Silicon Mac с использованием GitHub Container Registry.

Microsoft недавно представила Edit — новый терминальный текстовый редактор, разработанный на языке Rust. Он отличается простым интерфейсом, напоминающим старый добрый nano, но при этом обладает уникальным стилем, навевающим воспоминания о временах MS-DOS. Для многих пользователей Apple Silicon Mac возник вопрос: как запустить этот редактор на их устройствах, ведь официальных сборок под архитектуру ARM64 от Microsoft пока нет? Один из простых и эффективных способов — использование Docker-контейнера, поскольку Microsoft предлагает сборку для платформы aarch64-linux-gnu, совместимую с ARM64. Docker позволяет запускать приложения в изолированной среде и облегчает переносимость программ между разными платформами. В этой статье рассмотрим весь процесс создания, сборки и публикации Docker-образа для Microsoft Edit, чтобы каждый пользователь с Apple Silicon Mac мог комфортно работать с этим редактором.

В самом начале пути была попытка запустить редактор единой командой с помощью Ubuntu-образа. Такая стратегия позволяла установить необходимые зависимости и загрузить сам бинарный файл редактора. Для этого нужно было обновить пакеты, установить curl и zstd, скачать архив с редактором, распаковать его и запустить. Однако за каждым запуском контейнера происходила повторная загрузка и установка зависимостей, что сказывалось на времени старта контейнера и общем удобстве. Последующая попытка использовать Alpine Linux в качестве базового образа оказалась более привлекательной из-за компактного размера Alpine.

Однако возникла проблема: Microsoft Edit компилирован с использованием glibc, а Alpine по умолчанию поставляется с musl — другой библиотекой стандартных функций. Решением стало добавление в контейнер пакета gcompat, эмулирующего необходимые вызовы glibc. Это позволило успешно запускать бинарный файл редактора на Alpine. Тем не менее, описанные выше команды оставались неэффективными из-за повторяющихся скачиваний и установки утилит curl и zstd при каждом запуске контейнера. Оптимальным выходом стала разработка многоступенчатого Dockerfile с использованием многоступенчатой сборки.

Суть подхода: в первом этапе загружаются и распаковываются все файлы, а затем во второй стадии формируется минимальный контейнер, содержащий только необходимые для работы редактора зависимости и сам исполняемый файл. Такой способ значительно снижает размер финального образа и ускоряет запуск. В Dockerfile, предназначенном для этого проекта, в первом этапе используется базовый образ Alpine с пакетами curl и zstd. Здесь происходит загрузка архива с последней версией редактора Microsoft Edit, её распаковка и установка прав на исполнение файла. Во втором этапе создаётся минимальный Alpine-образ, в который добавляются только пакеты gcompat и libgcc — необходимые для запуска бинарного файла.

Затем собранный исполняемый файл копируется из билд-стадии в финальный образ. В результате пользователь получает компактный и быстрый контейнер для запуска редактора при работе с файлами. Конфигурация Dockerfile предусматривает установку рабочей директории в /workspace, что позволяет напрямую подключать текущую папку пользователя с хост-машины. Также ENTRYPOINT настроен на запуск редактора, а по умолчанию запускается редактор на текущей директории. Такой подход обеспечивает удобство и минимизирует необходимость дополнительных настроек со стороны пользователя.

Сборка образа для целевой архитектуры linux/arm64 выполняется с помощью стандартной команды docker build с указанием соответствующей платформы. Тестирование показало, что команда запуска контейнера с привязкой текущей директории пользователя позволяет мгновенно открыть и редактировать нужные файлы с помощью Microsoft Edit. Далее — логичный шаг к публикации готового образа в GitHub Container Registry (GHCR). Этот сервис предоставляет хранилище для Docker-образов с удобным управлением доступом и интеграцией с репозиториями GitHub. Для публикации требуется создать персональный токен доступа (PAT) с нужными правами, в частности с возможностями чтения и записи в пакеты (write:packages и read:packages).

Токен вводится при входе в регистр Docker, после чего можно тегировать локально собранный образ с указанием адреса на GHCR и публиковать его командой docker push. После успешной загрузки образа на GitHub пользователь может настроить видимость пакета, сделав его публичным для широкого круга пользователей. Создаётся отдельный репозиторий с Dockerfile и документацией, чтобы все заинтересованные могли ознакомиться с процессом установки и использования. Интеграция между пакетом и репозиторием на GitHub позволяет обеспечивать актуальность и удобство работы с проектом. Публикация Docker-образов в GHCR имеет ряд преимуществ.

Прежде всего, это возможность удобного распространения приложений без необходимости самостоятельной настройки окружения. Особенно актуально для пользователей Apple Silicon Mac, которым часто приходится сталкиваться с несовместимостью программ с native-архитектурой. Использование контейнеров и GitHub Container Registry снижает барьеры для установки и использования новых инструментов. Кроме того, такая практика способствует внедрению современных подходов к разработке и распространению ПО. Многоступенчатая сборка, минимальный образ и продуманная настройка ENTRYPOINT повышают эффективность и удобство применения.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
Bitcoin Predicted to Soar to $330K Before Bull Run Ends!
Понедельник, 15 Сентябрь 2025 Прогноз: Биткоин может достичь $330 000 до завершения бычьего ралли

Эксперты на основе анализа исторических данных предполагают, что цена Биткоина может вырасти до $330 000 в текущем цикле бычьего рынка. Рассмотрены ключевые факторы, влияющие на рост криптовалюты, а также риски и перспективы для инвесторов и финансового рынка.

Tron Founder Justin Sun Sued by U.S. SEC on Securities, Market Manipulation Charges
Понедельник, 15 Сентябрь 2025 Создатель Tron Джастин Сан под прицелом SEC: обвинения в мошенничестве и манипуляциях на рынке криптовалют

Джастин Сан, основатель криптовалютного проекта Tron, оказался в центре масштабного разбирательства с Комиссией по ценным бумагам и биржам США (SEC). Регулятор предъявил обвинения в продаже незарегистрированных ценных бумаг и манипуляциях на рынке токенов TRX и BTT, что стало резонансным событием в криптоиндустрии.

SEC sues Justin Sun for his crypto schemes, along with Lindsay Lohan, Jake Paul, and Soulja Boy
Понедельник, 15 Сентябрь 2025 SEC предъявляет обвинения Джастину Сану и знаменитостям в мошенничестве с криптовалютами

Рассмотрение громкого и резонансного дела, связанного с обвинениями SEC в адрес Джастина Суна и известных медийных персон за участие в незаконных схемах с криптовалютой. Анализ нарушений, реакция рынка и последствия для популярной индустрии криптоактивов.

Horse Browser
Понедельник, 15 Сентябрь 2025 Horse Browser: Революция в браузерах для людей с СДВГ и не только

Обзор уникального браузера Horse Browser, созданного для поддержки естественного мышления и улучшения продуктивности пользователей с СДВГ и всех, кто ценит новую парадигму веб-серфинга через Trails вместо традиционных вкладок.

Transparent Ambition: on translucent user interfaces
Понедельник, 15 Сентябрь 2025 Прозрачная амбиция: почему полупрозрачные интерфейсы стали испытанием для пользователей

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

Think Crypto is Used for Illegal Activities? Read This Report First
Понедельник, 15 Сентябрь 2025 Мифы и факты об использовании криптовалюты в незаконной деятельности: анализ отчета TRM Labs 2024

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

Who is Justin Sun, controversial China born crypto billionaire at Donald Trump's Memecoin Dinner?
Понедельник, 15 Сентябрь 2025 Джастин Сан — противоречивый криптомиллиардер родом из Китая на Мемкойн-ужине Дональда Трампа

Джастин Сан, основатель блокчейна Tron, последние годы вызывает немало споров и обсуждений. Его участие в ужине с Дональдом Трампом, посвящённом Memecoin, подняло множество вопросов о влиянии криптовалюты на политику и бизнес.