AinD: Когда Docker встречает Android
Это архивный репозиторий и может быть устаревшим.
Знакомьтесь — AinD (Android in Docker), проект, который умеет запускать Android-приложения прямо в Docker-контейнерах. Нет, это не эмулятор и не виртуальная машина. Это своеобразный "матрешечный" подход, где внутри Docker-контейнера работает Anbox (Android in a Box), создавая изолированное окружение для Android-приложений.
Почему это интересно?
Главное преимущество AinD — отсутствие необходимости в nested virtualization (вложенной виртуализации). Это значит, что вы можете запускать Android-приложения даже на облачных инстансах, где обычно виртуализация недоступна или запрещена.
Кому это нужно?
- Разработчикам, тестирующим приложения на разных окружениях
- Администраторам, разворачивающим Android-сервисы в облаке
- Пользователям, которым нужен легковесный способ запуска Android-приложений на ПК
Как это работает
AinD использует Anbox, который, в свою очередь, базируется на LXC-контейнерах. Внутри Docker создается контейнер с Android-окружением, где все процессы работают от непривилегированных пользователей. Это обеспечивает дополнительный уровень безопасности.
Быстрый старт
Для запуска потребуется Ubuntu (тестировалось на 19.10 с ядром 5.3) и несколько команд:
sudo modprobe ashmem_linux
sudo modprobe binder_linux
docker run -td --name aind --privileged -p 5900:5900 -v /lib/modules:/lib/modules:ro ghcr.io/aind-containers/aind
Через 10-20 секунд можно подключаться по VNC (порт 5900) и видеть работающий Android.
Ключевые возможности
- Запуск без виртуализации — работает там, где обычные эмуляторы не запустятся
- Готовые образы — включает Firefox, F-Droid и базовые приложения
- Гибкость развертывания — поддерживает Docker Compose и Kubernetes
- Автоматическая установка APK — файлы в /apk.d/*.apk устанавливаются при старте
- Несколько вариантов доступа — VNC и Web-интерфейс через noVNC
Ограничения
Проект официально устарел (deprecated) в пользу ReDroid, который поддерживает более свежие версии Android (вплоть до 12). AinD застрял на Android 7.1, что может быть критично для некоторых приложений.
Практическое применение
- Тестирование Android-приложений в CI/CD
- Запуск мобильных приложений на сервере
- Создание изолированных окружений для работы с чувствительными данными
AinD — интересный технический эксперимент, который уже уступил место более современным решениям. Для новых проектов лучше смотреть в сторону ReDroid. Но если вам нужно быстро развернуть Android 7.1 в контейнере без виртуализации — AinD все еще может быть полезен.

