⚠️ Внимание: Производительность Docker внутри эмулятора QEMU на Android будет ограничена. Для серьёзной работы с Docker рекомендуется использовать облачный сервер или полноценный ПК. Этот вариант подходит для ознакомления, тестирования или экспериментов.
pkg update && pkg upgrade -y
pkg install wget root-repo qemu-utils qemu-common qemu-system-x86-64-headlessmkdir ~/alpine && cd ~/alpine- Переходим на: https://www.alpinelinux.org/downloads/
- Копируем ссылку на x86_64 Virtual ISO.
- Загружаем 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.isoqemu-img create -f qcow2 alpine.qcow2 15Gqemu-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# Настройка 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/repositoriessetup-alpineПосле установки выполните
poweroffдля выключения 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 API8080- дополнительный порт для веб-сервисов (например, nginx)2222- порт для SSH-доступа к виртуальной машине
bash ~/alpine/run_qemu.shapk update && apk upgrade
apk add docker docker-cli-compose
service docker start && service docker stopdockerd -H tcp://0.0.0.0:3001 --iptables=false
--iptables=falseнеобходимо из-за ограничений QEMU user networking.
pkg install docker docker-composeecho "export DOCKER_HOST=tcp://127.0.0.1:3001" >> ~/.bashrc
source ~/.bashrc# Запуск nginx
docker run -d --name nginx -p 8080:80 nginx
# Просмотр контейнеров
docker ps -a
# Остановка и удаление
docker stop nginx && docker rm nginx