armbian 笔记
网心云oec turbo armbian使用
apt update
安装docker
curl -x http://192.168.0.122:7890 -fsSL https://get.docker.com/ | shUFW防火墙
安装
apt install ufw -y自用规则
ufw allow https
ufw allow from 172.17.0.0/16
ufw allow in on docker0
ufw allow out on docker0
ufw allow from 192.168.0.0/24关闭/开启USB启动方法
(仅适用于此镜像)
首次运行时,执行以下命令
apt update
apt-mark unhold armbian-bsp-cli-odroidn2-current
apt remove u-boot-tools
apt install u-boot-tools
apt install armbian-bsp-cli-odroidn2-current
apt-mark hold armbian-bsp-cli-odroidn2-current之后 只要运行fw_setenv enabled_usbboot '0' 就能关闭开机的USB启动
要再打开USB启动,用fw_setenv enabled_usbboot '1'
挂载sata
格式化的是 /dev/sda 整块盘
✅ 1. 删除 sda 上所有旧分区(清空分区表)
wipefs -a /dev/sda
parted /dev/sda mklabel gpt✅ 2. 创建一个新分区占满整个盘
parted -a opt /dev/sda mkpart primary ext4 0% 100%执行完后会生成 /dev/sda1
✅ 3. 格式化为 EXT4
mkfs.ext4 /dev/sda1✅ 4. 创建挂载目录
mkdir -p /mnt/data✅ 5. 获取 sda1 的 UUID
blkid /dev/sda1输出类似:
UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"✅ 6. 写入 /etc/fstab 实现开机自动挂载
打开 fstab:
nano /etc/fstab添加这一行(把 UUID= 后面替换成你实际的 UUID):
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/data ext4 defaults,noatime 0 2保存退出:
Ctrl+O
Ctrl+X✅ 7. 测试 fstab 是否正确(非常重要)
mount -a如果没有报错,说明配置正确。
⭕ 8. 查看是否成功挂载
df -h | grep data应该看到 /dev/sda1 已挂载到 /mnt/data
sudo chmod -R 777 /mnt/data /media/data
Docker数据迁移
把 Docker 的数据目录迁移到 /mnt/data/docker
目标:
Docker data-root →/mnt/data/docker
containerd 数据也一起走
⚠️ 迁移前确认(重要)
/mnt/data已开机自动挂载(你前面已完成 ✅)Docker 当前可以停机
/mnt/data空间充足
✅ 一、停止 Docker & containerd
systemctl stop docker
systemctl stop containerd确认已停止:
systemctl status docker containerd应为 inactive
✅ 二、创建新的 Docker 目录
mkdir -p /mnt/data/docker✅ 三、迁移原有数据(非常重要)
默认原路径:
Docker:
/var/lib/dockercontainerd:
/var/lib/containerd
1️⃣ 迁移 Docker 数据
rsync -aHAX --progress /var/lib/docker/ /mnt/data/docker/2️⃣ (可选但推荐)迁移 containerd
rsync -aHAX --progress /var/lib/containerd/ /mnt/data/docker/containerd/✅ 四、修改 Docker 配置(data-root)
编辑 Docker 配置文件:
nano /etc/docker/daemon.json写成这样(如果文件不存在就新建):
{
"data-root": "/mnt/data/docker"
}⚠️ 注意:
JSON 不能多逗号
之前有内容就合并,不要覆盖
✅ 五、修改 containerd 数据目录
编辑 containerd 配置:
containerd config default > /etc/containerd/config.toml
nano /etc/containerd/config.toml找到并修改(只改这一项):
root = "/mnt/data/docker/containerd"确认目录存在:
mkdir -p /mnt/data/docker/containerd✅ 六、重载 systemd 并启动
systemctl daemon-reload
systemctl start containerd
systemctl start docker✅ 七、验证是否生效
1️⃣ Docker 数据目录
docker info | grep "Docker Root Dir"应显示:
Docker Root Dir: /mnt/data/docker2️⃣ containerd 目录
mount | grep docker
ls /mnt/data/docker✅ 八、确认容器和镜像是否正常
docker ps
docker images全部正常 = 迁移成功 🎉
🧹 九、确认无误后清理旧目录(最后一步!)
确认跑一段时间没问题再删
rm -rf /var/lib/docker
rm -rf /var/lib/containerd🔐 强烈推荐再做一件事(防翻车)
让 Docker 等 /mnt/data 挂载完成再启动:
mkdir -p /etc/systemd/system/docker.service.d
nano /etc/systemd/system/docker.service.d/override.conf写入:
[Unit]
RequiresMountsFor=/mnt/data保存后:
systemctl daemon-reload
systemctl restart docker🎯 你现在的结构应该是
/mnt/data/
└── docker/
├── overlay2
├── containers
├── volumes
└── containerd使用服务器代理本地armbian
✅ 正确用法
在你本地机器执行:
ssh -p 9527 -N -D 22 root@<ip>
如果你不想占着终端:
ssh -p 9527 -f -N -D 22 root@<ip>
🔍 每个参数是什么意思(简单版)
🧪 测试是否真的走了服务器
export ALL_PROXY="socks5h://127.0.0.1:7890"
curl https://ipinfo.io
看到 IP 是服务器 <IP> 就成功了 ✅
保持 SOCKS5,然后在本地做转换(推荐)
你可以用 privoxy 或 redsocks 把 SOCKS5 转成 HTTP 代理:
1️⃣ 安装 Privoxy(在本地 Armbian)
sudo apt update
sudo apt install privoxy -y
2️⃣ 配置 Privoxy 转发到 SOCKS5
编辑 /etc/privoxy/config,加一行:
forward-socks5 / 127.0.0.1:7891 .
3️⃣ 启动 Privoxy
sudo systemctl restart privoxy
默认 HTTP 代理端口是 8118。
4️⃣ 使用 HTTP 代理
export http_proxy="http://127.0.0.1:8118"
export https_proxy="http://127.0.0.1:8118"
curl https://ipinfo.io
✅ 输出应该是你的香港 VPS IP
好处:很多程序只认 HTTP 代理,Privoxy 做了转换
编辑
/etc/privoxy/config,找到:
listen-address 127.0.0.1:8118
改为:
listen-address 0.0.0.0:8118
重启 Privoxy
sudo systemctl restart privoxy
容器里就可以通过宿主机 IP 访问:
http://192.168.0.168:8118
⚠️ 风险:暴露到整个局域网,不要直接开公网访问
