专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

kaeawc/auto-mobile Docker 镜像 - 轩辕镜像

auto-mobile
kaeawc/auto-mobile
kaeawc
AutoMobile - Android automation MCP server with ADB
0 次下载
😎 镜像稳了,发布才敢点回车
镜像简介版本下载
😎 镜像稳了,发布才敢点回车

Docker Quick Start

This project includes Docker support for running AutoMobile in a containerized environment with all required Android development tools.

For MCP Clients (Claude Desktop, Continue.dev, etc.)

To use this Docker image with MCP clients, see the MCP Client Configuration Guide for complete setup instructions.

Quick example for Claude Desktop:

json
{
  "mcpServers": {
    "auto-mobile": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--init", "--privileged", "--network", "host", "auto-mobile:latest"]
    }
  }
}

For Development & Testing

bash
# Build the image
docker-compose build

# Run in production mode
docker-compose up auto-mobile

# Run in development mode (with auto-reload)
docker-compose up auto-mobile-dev

Pre-built Images

Published images are available on Docker Hub: kaeawc/auto-mobile

bash
# Pull latest version
docker pull kaeawc/auto-mobile:latest

# Pull specific version
docker pull kaeawc/auto-mobile:0.0.7

# Pull major.minor version (recommended for stability)
docker pull kaeawc/auto-mobile:0.0

# Pull specific commit
docker pull kaeawc/auto-mobile:main-abc1234

For maintainers: See Docker Hub Setup Guide for publishing credentials and workflow configuration.

What's Included

The Docker image contains:

  • Bun 1.3.x
  • Java 21
  • Android SDK (API 36, Build Tools 35.0.0)
  • Platform Tools (ADB)
  • All required development tools (ripgrep, ktfmt, lychee, shellcheck, xmlstarlet)

To include Android emulator/system images, build with:

bash
docker build --platform=linux/amd64 --build-arg ANDROID_INSTALL_EMULATOR=true -t auto-mobile:latest .

Common Commands

bash
# Interactive shell
docker-compose exec auto-mobile bash

# Run tests
docker-compose exec auto-mobile npm test

# Run linter
docker-compose exec auto-mobile npm run lint

# Check connected devices
docker-compose exec auto-mobile adb devices

# Build Android components
docker-compose exec auto-mobile bash -c "cd android && ./gradlew build"

Requirements

  • Docker Engine 20.10+
  • Docker Compose v2.0+
  • For ADB device access: Privileged mode and host networking (already configured)
  • For slim images without emulator: Host Android SDK + AVDs mounted into the container

Documentation

For complete documentation, see docs/docker.md

Platform Notes

  • Linux: Full support
  • macOS: Limited ADB device access (Docker Desktop limitation). Use --platform=linux/amd64 on Apple Silicon.
  • Windows: Requires WSL2 with USB passthrough
  • iOS: Not supported (requires macOS and Apple hardware)

Troubleshooting

Using host emulators with the slim image

When the image is built without the emulator (ANDROID_INSTALL_EMULATOR=false), use the host emulator setup for your OS so the container can access your installed AVDs and running emulators.

Linux (host SDK + emulator inside container):

bash
docker run --platform=linux/amd64 -it --rm --name auto-mobile \
  --network host \
  -e ANDROID_HOME=/opt/android-sdk \
  -e ANDROID_SDK_ROOT=/opt/android-sdk \
  -e AUTOMOBILE_EMULATOR_HEADLESS=true \
  -v "$HOME/Android/Sdk:/opt/android-sdk" \
  -v "$HOME/.android:/home/automobile/.android" \
  -v "$HOME/.auto-mobile:/home/automobile/.auto-mobile" \
  auto-mobile:latest

macOS (host emulator, container auto-connects via ADB):

bash
docker run --platform=linux/amd64 -it --rm --name auto-mobile \
  -e ANDROID_HOME=/opt/android-sdk \
  -e ANDROID_SDK_ROOT=/opt/android-sdk \
  -e AUTOMOBILE_EMULATOR_EXTERNAL=true \
  -v "$HOME/.android:/home/automobile/.android" \
  -v "$HOME/.auto-mobile:/home/automobile/.auto-mobile" \
  auto-mobile:latest

With AUTOMOBILE_EMULATOR_EXTERNAL=true, the container automatically connects to host emulators running on host.docker.internal:5555-5585. The auto-connect service scans for emulators every 10 seconds and reconnects when emulators restart. No manual adb connect required.

Do not mount the macOS SDK into /opt/android-sdk (macOS binaries will not run in the Linux container).

Environment variables for auto-connect:

VariableDefaultDescription
AUTOMOBILE_EMULATOR_EXTERNALfalseEnable external/host emulator mode with auto-connect
AUTOMOBILE_HOST_GATEWAYhost.docker.internalHostname to connect to host emulators
AUTOMOBILE_EMULATOR_SCAN_INTERVAL_MS***How often to scan for new emulators (ms)
AUTOMOBILE_EMULATOR_PORT_START5555First emulator ADB port to scan
AUTOMOBILE_EMULATOR_PORT_END5585Last emulator ADB port to scan
Advanced: ADB Server Tunnel Mode

For full ADB command support (including adb emu kill and other console commands), you can connect the container to the host's ADB server instead of individual device ports:

bash
# On the host, ensure ADB server is running
adb start-server

# Run container with ADB server tunnel
docker run --platform=linux/amd64 -it --rm --name auto-mobile \
  -e ANDROID_HOME=/opt/android-sdk \
  -e ANDROID_SDK_ROOT=/opt/android-sdk \
  -e AUTOMOBILE_EMULATOR_EXTERNAL=true \
  -e AUTOMOBILE_ADB_SERVER_HOST=host.docker.internal \
  -e AUTOMOBILE_ADB_SERVER_PORT=5037 \
  -v "$HOME/.android:/home/automobile/.android" \
  -v "$HOME/.auto-mobile:/home/automobile/.auto-mobile" \
  auto-mobile:latest

Benefits of ADB Server Tunnel:

  • All devices (emulators and physical) visible automatically
  • Full ADB command support including console commands (emu kill, etc.)
  • Single connection point instead of per-device port scanning
VariableDefaultDescription
AUTOMOBILE_ADB_SERVER_HOST(none)Host's ADB server address (enables tunnel mode when set)
AUTOMOBILE_ADB_SERVER_PORT5037Host's ADB server port
Advanced: Host Control Daemon

For starting/stopping emulators and running SDK commands from within the container, run the host control daemon on your macOS host:

bash
# Start the host control daemon (runs on port ***)
node scripts/docker/host-control-daemon.js

# Or with custom settings
node scripts/docker/host-control-daemon.js --port *** --host 0.0.0.0

The daemon provides a JSON-RPC interface for:

  • list-avds - List available AVDs
  • start-emulator - Start an emulator by AVD name
  • stop-emulator - Stop an emulator
  • list-running - List running emulators
  • avdmanager - Run avdmanager commands
  • sdkmanager - Run sdkmanager commands

Run the container with host control:

bash
docker run --platform=linux/amd64 -it --rm --name auto-mobile \
  -e AUTOMOBILE_EMULATOR_EXTERNAL=true \
  -e AUTOMOBILE_HOST_CONTROL_HOST=host.docker.internal \
  -e AUTOMOBILE_HOST_CONTROL_PORT=*** \
  -v "$HOME/.android:/home/automobile/.android" \
  -v "$HOME/.auto-mobile:/home/automobile/.auto-mobile" \
  auto-mobile:latest
VariableDefaultDescription
AUTOMOBILE_HOST_CONTROL_HOSThost.docker.internalHost control daemon address
AUTOMOBILE_HOST_CONTROL_PORT***Host control daemon port
AUTOMOBILE_HOST_CONTROL_ENABLEDtrueSet to false to disable host control integration
ADB not seeing devices?
  1. Ensure device is connected to host: adb devices
  2. Restart ADB server: adb kill-server && adb start-server
  3. Verify container runs with --privileged flag
Build failing?
bash
# Clean and rebuild
docker-compose down -v
docker-compose build --no-cache
docker-compose up

Testing

Validate Dockerfile
bash
# Lint Dockerfile
./scripts/docker/validate_dockerfile.sh

# Run container structure tests
./scripts/docker/test_container.sh

# Test host emulator access from the slim image (auto-starts host emulator if needed)
./scripts/docker/test_host_emulator_mcp.sh
Test MCP stdio Protocol
bash
# Build image
docker build --platform=linux/amd64 -t auto-mobile:latest .

# Test stdio communication
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | docker run --platform=linux/amd64 -i --rm --init auto-mobile:latest

For more help, see the full Docker documentation and MCP configuration guide.

查看更多 auto-mobile 相关镜像 →
temporalio/auto-setup logo
temporalio/auto-setup
工作流即代码(Workflow as Code,TM)是一种将应用构建与运维流程通过代码化方式定义、管理和执行的方法,旨在提升应用的可靠性、可恢复性与持续运行能力,支持开发与运维团队高效协作,实现从构建到运维的全生命周期自动化,确保应用在复杂场景及潜在故障下仍能稳定运行,从而帮助用户构建并运维具备强大韧性的应用系统。
610M+ pulls
上次更新:未知
autopas/autopas-build-gcc logo
autopas/autopas-build-gcc
提供多种用于AutoPas库的Dockerfile,按构建任务分类(如不同编译器、代码覆盖率、文档生成等),支持无需依赖构建和测试。
110K+ pulls
上次更新:未知
autopas/autopas-build-clang logo
autopas/autopas-build-clang
提供多种Dockerfile,按任务分类用于构建AutoPas库,支持不同编译器(clang、gcc)、代码覆盖率、CUDA、文档生成等需求,无需安装依赖即可使用,适用于开发和测试环境。
110K+ pulls
上次更新:未知
autopas/autopas-build-archer logo
autopas/autopas-build-archer
提供用于构建AutoPas库的Docker镜像,包含archer数据竞争检测器等工具,支持多种构建环境和功能需求,如不同编译器构建、代码覆盖率分析及文档生成。
110K+ pulls
上次更新:未知
autopas/autopas-build-doxygen logo
autopas/autopas-build-doxygen
提供用于构建AutoPas库doc_doxygen目标的Docker镜像
110K+ pulls
上次更新:未知
pgautoupgrade/pgautoupgrade logo
pgautoupgrade/pgautoupgrade
支持PostgreSQL 9.5至17.x版本的容器,启动前可升级数据库文件。
291M+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
kaeawc/auto-mobile
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.