Skip to content

Репозиторий содержит руководство по установке Docker на Android, не требующей root-прав. Используется Termux для запуска Alpine Linux, которая затем виртуализируется с помощью QEMU. Это обеспечивает полную Docker-совместимость и позволяет запускать любые Docker-образы на вашем Android-устройстве.

License

Notifications You must be signed in to change notification settings

Dauxdu/android-termux-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

🐳 Docker на Android без Root через Alpine Linux в Termux + QEMU

⚠️ Внимание: Производительность Docker внутри эмулятора QEMU на Android будет ограничена. Для серьёзной работы с Docker рекомендуется использовать облачный сервер или полноценный ПК. Этот вариант подходит для ознакомления, тестирования или экспериментов.


📑 Содержание

  1. 📦 Необходимые компоненты
  2. 🤖 Установка Alpine в QEMU
  3. 🐳 Настройка Docker
  4. 🚀 Работа с Docker

📦 Необходимые компоненты

Установка Termux

Установка пакетов в Termux

pkg update && pkg upgrade -y
pkg install wget root-repo qemu-utils qemu-common qemu-system-x86-64-headless

Подготовка рабочей директории

mkdir ~/alpine && cd ~/alpine

🤖 Установка Alpine в QEMU

1. Загрузка Alpine ISO

  1. Переходим на: https://www.alpinelinux.org/downloads/
  2. Копируем ссылку на x86_64 Virtual ISO.
  3. Загружаем ISO:
# Пример для версии 3.22.1:
wget -O alpine.iso https://dl-cdn.alpinelinux.org/alpine/v3.22/releases/x86_64/alpine-virt-3.22.1-x86_64.iso

2. Создание виртуального диска

qemu-img create -f qcow2 alpine.qcow2 15G

3. Запуск QEMU для установки Alpine

qemu-system-x86_64 \
-machine q35 \
-cpu qemu64 \
-smp 2 \  # Количество ядер (nproc покажет доступное)
-m 1G \   # Память в МБ (free -m)
-device virtio-net,netdev=n1 \
-netdev user,id=n1\
-drive if=pflash,format=raw,readonly=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
-drive file=alpine.qcow2,if=virtio \
-cdrom alpine.iso \
-nographic

4. Настройка Alpine перед установки

# Настройка DNS (замените <YOUR_LOCAL_GATEWAY> на ваш шлюз)
echo "nameserver <YOUT_LOCAL_GATEWAY>" > /etc/resolv.conf
echo "nameserver 1.1.1.1" > /etc/resolv.conf

# Настройка репозиториев
echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/main" > /etc/apk/repositories
echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

5. Установка Alpine

setup-alpine

После установки выполните poweroff для выключения VM

6. Создание скрипта для запуска VM

echo "qemu-system-x86_64 \
-machine q35 \
-cpu qemu64 \
-smp 2 \
-m 1G \
-device virtio-net,netdev=n1 \
-netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::3001-:3001,hostfwd=tcp::8080-:8080 \
-drive if=pflash,format=raw,readonly=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
-drive file=alpine.qcow2,if=virtio \
-nographic" >> ~/alpine/run_qemu.sh

chmod +x ~/alpine/run_qemu.sh
  • 3001 - основной порт для работы с Docker API
  • 8080 - дополнительный порт для веб-сервисов (например, nginx)
  • 2222 - порт для SSH-доступа к виртуальной машине

7. Запуск VM

bash ~/alpine/run_qemu.sh

🐳 Настройка Docker

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

apk update && apk upgrade
apk add docker docker-cli-compose
service docker start && service docker stop

Запуск Docker в Alpine

dockerd -H tcp://0.0.0.0:3001 --iptables=false

--iptables=false необходимо из-за ограничений QEMU user networking.

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

pkg install docker docker-compose

Подключение Docker в Termux

echo "export DOCKER_HOST=tcp://127.0.0.1:3001" >> ~/.bashrc
source ~/.bashrc

🚀 Работа с Docker

Пример работы с контейнерами

# Запуск nginx
docker run -d --name nginx -p 8080:80 nginx

# Просмотр контейнеров
docker ps -a

# Остановка и удаление
docker stop nginx && docker rm nginx

About

Репозиторий содержит руководство по установке Docker на Android, не требующей root-прав. Используется Termux для запуска Alpine Linux, которая затем виртуализируется с помощью QEMU. Это обеспечивает полную Docker-совместимость и позволяет запускать любые Docker-образы на вашем Android-устройстве.

Topics

Resources

License

Stars

Watchers

Forks