🐧 Armbian Docker安装与优化指南

⏱️ 预计时间:30-60分钟 中等难度 📝 更新于 2026-09 ✅ 实测验证
💡 教程说明 本教程基于Amlogic S922X设备(OES/斐讯N1/玩客云等)+ Armbian 26.x 实测编写。Armbian是ARM设备上最流行的Linux发行版,刷好系统后第一件事就是换源和装Docker。

一、首次登录与基础设置

1.1 首次登录

# SSH连接(U盘启动时IP在路由器后台查看) ssh root@设备IP # 首次登录会要求设置root密码 # 然后会要求创建普通用户,按Ctrl+C可跳过

1.2 确认设备型号

刷机后不确定设备型号?用这个命令确认:

# 查看设备树兼容信息 hexdump -C /proc/device-tree/compatible | head -n 5 # 输出示例: # ali,ct2000 → OES 1代,DTB选 meson-g12b-ali-ct2000.dtb # amlogic,s922x → S922X芯片 # 查看CPU信息 cat /proc/cpuinfo | grep "model name" | head -1 # 查看内存 free -h # 查看存储 lsblk

二、更换国内软件源(必做)

Armbian默认源在国外,国内访问很慢。换成国内源后速度提升10倍以上。

2.1 一键换源脚本

cat > /root/change_source.sh << 'EOF' #!/bin/bash echo "=== 开始更换Armbian国内源 ===" # 备份原源 cp /etc/apt/sources.list /etc/apt/sources.list.bak cp /etc/apt/sources.list.d/armbian.list /etc/apt/sources.list.d/armbian.list.bak # Debian源替换为阿里云(Debian 12 bookworm) cat > /etc/apt/sources.list << 'DEB' deb https://mirrors.aliyun.com/debian/ bookworm main contrib non-free non-free-firmware deb https://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free non-free-firmware deb https://mirrors.aliyun.com/debian/ bookworm-backports main contrib non-free non-free-firmware deb https://mirrors.aliyun.com/debian-security/ bookworm-security main contrib non-free non-free-firmware DEB # Armbian源替换为中科大 cat > /etc/apt/sources.list.d/armbian.list << 'ARM' deb https://mirrors.ustc.edu.cn/armbian/ bookworm main contrib non-free ARM echo "=== 源替换完成,开始更新 ===" apt update apt upgrade -y echo "=== 系统更新完成 ===" EOF chmod +x /root/change_source.sh /root/change_source.sh
💡 其他可选源
  • Debian源:阿里云、清华TUNA、中科大USTC、163
  • Armbian源:中科大USTC(镜像最全)、清华TUNA
  • 也可以用 armbian-config → Personal → Mirrors 图形化选择

2.2 安装基础工具

apt install -y \ curl wget htop vim nano \ git net-tools dnsutils \ unzip zip p7zip-full \ apt-transport-https ca-certificates \ gnupg lsb-release \ python3 python3-pip

三、Docker安装

3.1 官方脚本安装(推荐)

# 下载安装脚本(用阿里云镜像加速) curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh --mirror Aliyun # 启动Docker并设置开机自启 systemctl enable docker systemctl start docker # 验证安装 docker --version docker run --rm hello-world

3.2 安装Docker Compose

# 安装docker-compose插件 apt install -y docker-compose-plugin # 验证 docker compose version

3.3 配置Docker国内镜像加速(必做)

mkdir -p /etc/docker cat > /etc/docker/daemon.json << 'EOF' { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://dockerproxy.com", "https://docker.1panel.live", "https://mirror.iscas.ac.cn" ], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "storage-driver": "overlay2" } EOF systemctl daemon-reload systemctl restart docker # 验证镜像加速是否生效 docker info | grep -A 5 "Registry Mirrors"
⚠️ 注意 国内Docker镜像源可能不定期失效。如果拉取镜像超时,尝试更换daemon.json中的镜像地址,或配置代理。

四、常用Docker容器一键部署

4.1 Portainer(Docker可视化管理)

docker run -d \ --name portainer \ --restart=always \ -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest

访问 http://设备IP:9000,首次访问设置管理员密码。

4.2 青龙面板(自动化脚本)

docker run -dit \ --name qinglong \ --restart=always \ -p 5700:5700 \ -v /opt/qinglong/data:/ql/data \ whyour/qinglong:latest

访问 http://设备IP:5700,默认账号admin,密码admin。青龙面板支持京东签到、各种自动化脚本。

4.3 qBittorrent(BT下载)

docker run -d \ --name qbittorrent \ --restart=always \ -e PUID=0 -e PGID=0 \ -e TZ=Asia/Shanghai \ -e WEBUI_PORT=8085 \ -p 8085:8085 \ -p 6881:6881 -p 6881:6881/udp \ -v /opt/qbittorrent/config:/config \ -v /mnt/downloads:/downloads \ lscr.io/linuxserver/qbittorrent:latest

4.4 Alist(网盘聚合)

docker run -d \ --name alist \ --restart=always \ -v /etc/alist:/opt/alist/data \ -p 5244:5244 \ -e PUID=0 -e PGID=0 \ -e UMASK=022 \ xhofe/alist:latest

支持挂载百度网盘、阿里云盘、115、OneDrive、Google Drive等数十种网盘。

4.5 AdGuard Home(广告过滤)

docker run -d \ --name adguardhome \ --restart=always \ -v /opt/adguardhome/work:/opt/adguardhome/work \ -v /opt/adguardhome/conf:/opt/adguardhome/conf \ -p 3000:3000 -p 80:80 \ -p 53:53/tcp -p 53:53/udp \ adguard/adguardhome

把路由器DNS设为设备IP,全家设备去广告。

4.6 Uptime Kuma(服务监控)

docker run -d \ --name uptime-kuma \ --restart=always \ -p 3001:3001 \ -v /opt/uptime-kuma:/app/data \ louislam/uptime-kuma:1

监控网站/服务在线状态,宕机自动通知(支持Telegram、企业微信、邮件等)。

五、docker-compose 部署示例

多个容器建议用docker-compose统一管理:

mkdir -p /opt/stacks/media-server cat > /opt/stacks/media-server/docker-compose.yml << 'EOF' version: "3.8" services: portainer: image: portainer/portainer-ce:latest container_name: portainer restart: always ports: - "9000:9000" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent restart: always environment: - PUID=0 - PGID=0 - TZ=Asia/Shanghai - WEBUI_PORT=8085 ports: - "8085:8085" - "6881:6881" - "6881:6881/udp" volumes: - /opt/qbittorrent/config:/config - /mnt/downloads:/downloads alist: image: xhofe/alist:latest container_name: alist restart: always ports: - "5244:5244" volumes: - /etc/alist:/opt/alist/data volumes: portainer_data: EOF # 启动所有容器 cd /opt/stacks/media-server docker compose up -d # 查看状态 docker compose ps # 查看日志 docker compose logs -f

六、系统优化

6.1 时区设置

timedatectl set-timezone Asia/Shanghai date

6.2 中文语言支持

apt install -y locales sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen locale-gen update-locale LANG=zh_CN.UTF-8

6.3 SWAP虚拟内存

2GB内存设备建议加2GB SWAP:

fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab free -h

6.4 风扇控制(OES设备)

# 查看温度 cat /sys/class/thermal/thermal_zone0/temp # 查看风扇状态 cat /sys/class/hwmon/hwmon0/pwm1 # 风扇全速(临时测试) echo 255 > /sys/class/hwmon/hwmon0/pwm1 # 风扇停止(临时测试) echo 0 > /sys/class/hwmon/hwmon0/pwm1

6.5 定时清理Docker

# 创建清理脚本 cat > /usr/local/bin/docker-clean << 'EOF' #!/bin/bash docker system prune -af --volumes docker image prune -af EOF chmod +x /usr/local/bin/docker-clean # 每周日凌晨3点自动清理 (crontab -l 2>/dev/null; echo "0 3 * * 0 /usr/local/bin/docker-clean") | crontab -

七、常见问题

Q1: apt update 报错或很慢?

A: 源没换成功。检查 /etc/apt/sources.list/etc/apt/sources.list.d/armbian.list 是否正确替换为国内源。注意Debian版本(bookworm/bullseye)要对应。

Q2: Docker拉取镜像超时?

A: 配置国内镜像加速(见3.3节)。如果所有镜像源都失效,可以配置HTTP代理:

mkdir -p /etc/systemd/system/docker.service.d cat > /etc/systemd/system/docker.service.d/proxy.conf << 'EOF' [Service] Environment="HTTP_PROXY=http://代理IP:端口" Environment="HTTPS_PROXY=http://代理IP:端口" Environment="NO_PROXY=localhost,127.0.0.1" EOF systemctl daemon-reload systemctl restart docker

Q3: 容器启动后访问不了?

A: 检查:

Q4: 磁盘空间不足?

A: Docker镜像和容器占用大量空间。执行 docker system df 查看占用,docker system prune -a 清理未使用的镜像。建议把Docker数据目录移到大硬盘:

# 停止Docker systemctl stop docker # 迁移数据到/mnt/docker mv /var/lib/docker /mnt/docker ln -s /mnt/docker /var/lib/docker # 重启 systemctl start docker

Q5: Armbian怎么升级内核?

A: 用armbian自带工具:

# 查看当前内核 uname -r # 升级内核(需要联网) armbian-update # 或用ophub的内核更新脚本 curl -fsSL https://github.com/ophub/amlogic-s9xxx-armbian/raw/main/build-armbian/scripts/update.sh | bash

八、相关教程