教程 · 更新于 2026/03
在 Arch Linux / ImmortalWrt 上用 Docker 运行 ALAS
把碧蓝航线脚本 ALAS 塞进 Docker 里跑,顺带解决 Waydroid 的连接问题。 下面的每一步都在本机验证过,可以直接照抄。
想省事的话:我写了一个管理脚本,把安装和后续维护 (更新、看日志、重启容器)都包好了。直接运行:
curl -sSL https://raw.githubusercontent.com/SelandiaNyx/alas-manager-for-arch/main/alas-manager-for-arch.sh -o alas-manager-for-arch.sh && chmod +x alas-manager-for-arch.sh && ./alas-manager-for-arch.sh
Arch Linux
如果你更喜欢手动配置,按下面的步骤来。
-
安装 Docker 和 adb 工具
sudo pacman -S docker docker-compose android-tools -
启动 Docker 服务
sudo systemctl enable --now docker -
把当前用户加入 docker 组
sudo usermod -aG docker $USER newgrp docker -
确认 adb 能连上 Waydroid
waydroid status adb connect waydroidIP:5555 adb devices -
创建工作目录
mkdir alas-docker cd alas-docker -
获取 ALAS 源码
git clone https://github.com/LmeSzinc/AzurLaneAutoScript.git ./src -
创建 Dockerfile
FROM python:3.7-slim RUN apt-get update && apt-get install -y --no-install-recommends \ wget git adb libgomp1 openssh-client ca-certificates \ libgl1-mesa-glx libglib2.0-0 libsm6 libxext6 libxrender1 \ && apt-get clean && rm -rf /var/lib/apt/lists/* RUN wget -q https://repo.anaconda.com/miniconda/Miniconda3-py313_25.9.1-3-Linux-x86_64.sh \ -O /tmp/miniconda.sh \ && bash /tmp/miniconda.sh -b -p /opt/conda \ && rm /tmp/miniconda.sh ENV PATH="/opt/conda/bin:${PATH}" RUN conda config --system --remove channels defaults \ && conda config --system --add channels conda-forge \ && conda config --system --set channel_priority strict \ && conda install -y mamba WORKDIR /app/AzurLaneAutoScript COPY src/requirements.txt /tmp/requirements.txt RUN AV_VERSION=$(grep '^av==' /tmp/requirements.txt | cut -d '=' -f 3) \ && mamba install -y "python=3.7" "av==$AV_VERSION" \ && conda clean --all --yes RUN grep -v '^av==' /tmp/requirements.txt > /tmp/req.txt \ && pip install --no-cache-dir -r /tmp/req.txt \ && rm /tmp/requirements.txt /tmp/req.txt CMD ["python", "gui.py"] -
修改 requirements.txt
注释掉
av==10.0.0与pywin32==301, 并把requests==2.18.4改成requests>=2.20.0,<3。 -
构建镜像
docker build -t alas-conda . -
创建 docker-compose.yml
services: alas: image: alas-conda container_name: alas network_mode: host volumes: - ~/.android:/root/.android - ./config:/alas/config - ./src:/app/AzurLaneAutoScript working_dir: /app/AzurLaneAutoScript command: python gui.py -
运行
docker compose up后台运行用
docker compose up -d,停止用docker compose kill alas。
ImmortalWrt
流程基本一致,差异如下。
先安装软件:
opkg install docker docker-compose adb git git-http ca-bundle
-
PC 上安装 socat
sudo pacman -S socat -
在 PC 上做端口转发
socat TCP-LISTEN:5555,fork TCP:WaydroidIP:5555 -
在 ALAS 里填写模拟器 Serial
填成
PCIP:5555即可。
查看 Waydroid IP
waydroid status
反和谐
sudo waydroid shell
vim /storage/emulated/0/Android/data/com.bilibili.azurlane/files/localization.txt
把文件里的 false 改成 true,然后重启游戏。
本文首发于 2024/09/28,最近一次更新在 2026/03/04。 装 Docker 与编译镜像的坑大半来自 ALAS 官方文档和社区讨论,脚本部分是我自己整理的。