We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Использование Termux для создания и управления Docker‑контейнерами на Android

Android‑устройства давно перестали быть лишь клиентскими гаджетами. С помощью Termux вы получаете полноценный Linux‑терминал, а совместно с Docker — возможность разворачивать изолированные сервисы прямо на смартфоне или планшете. В этой статье мы рассмотрим, как установить и настроить Docker в Termux, а также как создавать и управлять контейнерами в мобильной среде.

Установка Termux

Для начала необходимо установить сам Termux из официального репозитория F‑Droid или из Google Play (если доступно). После установки откройте приложение и выполните базовую подготовку:

pkg update && pkg upgrade -y

Установим необходимые пакеты:

pkg install -y wget curl proot-distro git

Эти утилиты понадобятся для загрузки образов и создания chroot‑окружения, в котором будет работать Docker.

Установка Docker в Termux

Docker официально не поддерживается в Termux, однако его можно запустить внутри Linux‑дистрибутива, установленного через proot-distro. Наиболее надёжным вариантом является установка Ubuntu 22.04:

proot-distro install ubuntu-22.04

Запустим дистрибутив и обновим пакеты:

proot-distro login ubuntu-22.04
apt update && apt upgrade -y

Установим Docker из официальных репозиториев Ubuntu:

apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io

Docker требует привилегий root. В Termux‑окружении мы можем использовать proot для эмуляции root‑права:

proot-distro login ubuntu-22.04 --shared-tmp --user root

Запустим демон Docker:

dockerd &

После небольшого ожидания проверим статус:

docker version

Создание первого контейнера

Теперь, когда Docker работает, можно создавать контейнеры. В качестве примера развернём простой веб‑сервер nginx:

docker run -d --name my-nginx -p 8080:80 nginx:latest

Откройте браузер на Android и перейдите по адресу http://127.0.0.1:8080. Вы увидите стартовую страницу Nginx, обслуживаемую из контейнера, запущенного внутри Termux.

Управление контейнерами

Все стандартные команды Docker доступны:

  • docker ps — список работающих контейнеров;
  • docker stop <container_id> — остановка;
  • docker rm <container_id> — удаление;
  • docker logs <container_id> — просмотр логов.

Для более удобного управления рекомендуем установить docker-compose:

apt install -y docker-compose

Пример docker-compose.yml для разворачивания WordPress и MySQL:

version: '3.8'
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - db_data:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    ports:
      - "8081:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_PASSWORD: example
    depends_on:
      - db
volumes:
  db_data:

Запуск:

docker-compose up -d

Теперь ваш Android‑устройство выступает полноценным сервером разработки.

Оптимизация и ограничения

Несмотря на мощность современных смартфонов, стоит учитывать несколько нюансов:

  • Ограничения памяти. Docker‑контейнеры используют ресурсы хоста, поэтому рекомендуется ограничивать их объёмом RAM через параметры --memory и --cpus.
  • Хранилище. Образы и тома занимают значительный объём внутренней памяти. Храните их на внешней SD‑карте, смонтировав её в /storage и указав путь в -v.
  • Сетевые ограничения. По умолчанию Docker использует bridge‑сетевой драйвер, который работает в пределах Proot‑окружения. Для доступа к контейнерам из внешних сетей (Wi‑Fi) можно настроить проброс портов через termux-open-url или использовать ssh‑туннель.

Пример ограничения ресурсов при запуске контейнера:

docker run -d --name limited-nginx \
  --memory 256m --cpus 0.5 \
  -p 8082:80 nginx

Заключение

Termux в сочетании с Docker открывает новые возможности для мобильных разработчиков, системных администраторов и исследователей. Вы можете разворачивать микросервисы, тестировать инфраструктурные решения и даже обучать коллег, используя лишь Android‑устройство. При желании масштабировать решения или интегрировать их в CI/CD‑конвейеры, RybinskLab готов предложить консультации, настройку удалённого доступа, мониторинг контейнеров и разработку кастомных образов под ваши задачи.

Свяжитесь с нами, и мы поможем превратить ваш мобильный телефон в мощный инструмент DevOps.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом RybinskLab.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

Связаться со мной
Поддержать проект