피드로 돌아가기
Run Real Docker on Android — No Root, No Tricks, Just QEMU
Dev.toDev.to
Infrastructure

Non-Root 안드로이드에서 QEMU 기반 Docker Daemon 구현

Run Real Docker on Android — No Root, No Tricks, Just QEMU

Sulthon Zainul Habib2026년 6월 14일23intermediate

Context

안드로이드 커널 내 cgroups, namespaces, overlay filesystem의 부재로 인한 Docker 실행 불가 환경 분석. proot-distro와 같은 기존 우회 방식은 systemd 및 커널 격리 기능의 결여로 인해 실제 Docker API 작동이 불가능한 한계 노출.

Technical Solution

  • Termux 내 qemu-system-aarch64를 통한 가상 하드웨어 계층 추상화 설계
  • Debian 12 VM 배포를 통한 독자적인 Linux Kernel 확보 및 cgroups/namespaces 활성화
  • QEMU TCG(Tiny Code Generator) 기반의 소프트웨어 에뮬레이션을 통한 ARM64 명령어 세트 변환
  • systemd 기반의 서비스 관리 체계 구축으로 dockerd 및 Docker Compose v2의 안정적 구동 실현
  • SSH Port Forwarding(22 → 2222) 설정을 통한 외부 호스트의 VM 직접 제어 구조 설계
  • Termux:Boot 및 wake-lock 설정을 통한 Android Phantom Process Killer 회피 및 자동 재시작 메커니즘 구현

1. 호스트 커널의 cgroups/namespaces 지원 여부 확인

2. User-space 에뮬레이션(proot 등)과 Full Virtualization(QEMU 등)의 Trade-off(속도 vs 기능성) 분석

3. 모바일 환경의 Background Process Kill 정책(Android 12+) 대응을 위한 wake-lock 설정 검토

4. 외부 제어를 위한 SSH 터널링 및 포트 포워딩 전략 수립

원문 읽기