Run Docker x86_64 on Android Tablets or Phones
Original idea: https://gist.github.com/oofnikj/e79aef095cd08756f7f26ed244355d62
This is a automatic installation script. As RAM is always an issue on a cell phone, we also install zram.
- Learn about wake locks in Termux: https://wiki.termux.com/wiki/Termux-wake-lock
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/egandro/docker-qemu-arm/master/termux-setup.sh)"
# change you alpine root passwort or run the custom installer!
$ pkg update
$ pkg install git
$ git clone https://github.com/egandro/docker-qemu-arm.git
$ cd docker-qemu-arm
$ cp config.sample config.env
$ # vi config.env # change everything you want to need to change
$ ./install.sh
$ $HOME/alpine
$ ./startqemu.sh
- you can ssh to the VM with a 2nd Terminal and
ssh2qemu.sh
qemukey / qemukey.ssh are the generated SSH keys - run a
uname -a
and adocker run hello-world
- Thanks to everybody who made this happen.
- Alpine Linux & dns & ipv4 only vs ipv4/6 is (very often) broken.
- We pin the dns to
8.8.8.8
(can be changed) and in Alpine we turn off ipv6.
Docker can't connect (for reasons only known to qemu/Alpine/Android/Google)
alpine:~# docker run hello-world
docker: error during connect: Head "http:///var/run/docker.sock/_ping": read unix @->/var/run/docker.sock: read: connection reset by peer.
alpine:~# service docker stop
* Stopping Docker Daemon ... [ ok ]
alpine:~# service docker start
* Starting Docker Daemon ...
- updated to latest (stable) Alpine 3.20
- added customizable installer (git checkout)
- updated to latest Alpine 3.19
- added config.env - this makes it much simpler for developers to tweak version numbers
- fixed issue with alpine for zram
- updated to alpine-virt-3.14.0-x86_64.iso