思路
- 安装Onepanel;
- 迁移docker安装位置至外置硬盘;
- 迁移Onepanel存储位置至外置硬盘。
一、安装Onepanel
- 官网:https://1panel.cn/
- 安装指令
bash
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)" # 安装指令
# 卸载指令,无需执行。
1pctl uninstall
- 安装过程中会提示设置1panel的端口和安全入口,根据实际情况自己自主填写即可。
- 安装完成后出现以下内容:

- 根据红框内容可登录onepanel地址,访问地址为:
- http://目标服务器 IP 地址:目标端口/安全入口
- 登录以后可进行容器部署、计划任务等功能,自己探索吧。
- 在面板设置->安全处可修改面板端口和安全入口。
**提示:**安装好onepanel后就自动装好docker了。
二、迁移docker位置
- 迁移docker位置至外部存储,避免数据占用系统空间。
bash
systemctl stop docker docker.socket # 首先停止服务
mkdir -p /mnt/mydisk/docker # 在外置硬盘中创建docker目录(要迁移到的位置),
rsync -avzP /var/lib/docker/ /mnt/mydisk/docker/ # 迁移同步数据
# 编辑配置文件
vim /etc/docker/daemon.json # 在文件中添加以下内容
# "data-root":"/mnt/mydisk/docker"
- 编辑daemon.json如下图所示。加入sotrage-driver配置可防止报错,在最后一部分说。

bash
rsync -av /var/lib/containerd/ /mnt/mydisk/containerd/ # 迁移镜像目录文件
vim /etc/containerd/config.toml # 编辑config.toml文件,插入以下内容
# root="/mnt/mydisk/containerd"
- 编辑config.toml如下图所示。

bash
systemctl start docker docker.socket # 重启dockers服务
docker info # 查看迁移后的信息
三、迁移Onepanel存储位置
- 迁移Onepanel的存储位置,防止从onepanel中下载的应用占用内部存储位置。
bash
1pctl stop # 停止服务
mkdir -p /mnt/mydisk/1panel # 创建外部存储的存储目录
rsync -av /opt/1panel/ /mnt/mydisk/1panel/ # 同步原有面板数据
ln -s /mnt/mydisk/1panel /opt/1panel # 创建软链接指向外置存储
1pctl start # 启动面板应用
四、注意
- 某次在机器重启后报以下类似错误,所有容器重启失败,镜像拉起失败。
bash
stderr: Image snowdreamtech/frpc:0.69.1 Pulling 2c9cfad1e387 Download complete 0B unable to prepare extraction snapshot: AlreadyExists: target snapshot "sha256:45f3ea5848e8a25ca27718b640a21ffd8c8745d342a24e1d4ddfc8c449b0a724": already exists , err: exit status 1
- 在/etc/docker/daemon.json文件中配置了"storage-driver": "overlay2"。后解决的。