子涵的小助手正在绞尽脑汁···
这里是摘要QwQ
LongCat-2.0

一、安装 Docker (Ubuntu 22.04)

1. 安装依赖

1
2
sudo apt update
sudo apt install ca-certificates curl -y

2. 添加 Docker 软件源(清华镜像)

1
2
3
4
5
6
7
8
9
# 创建密钥存储目录
sudo install -m 0755 -d /etc/apt/keyrings

# 下载 Docker GPG 密钥
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 添加 Docker 源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. 安装 Docker

1
2
3
4
5
# 1. 更新软件源
sudo apt update

# 2. 安装 Docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

4. 启动并配置

1
2
3
4
5
6
7
# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

# 将当前用户加入 docker 组(免 sudo 运行)
sudo usermod -aG docker $USER
newgrp docker # 立即生效

5. 配置镜像加速器(可选,但强烈推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建配置文件
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.mirrors.tuna.tsinghua.edu.cn",
"https://docker.m.daocloud.io"
]
}
EOF

# 重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

6. 验证安装

1
2
3
docker --version
docker compose version
docker run hello-world

看到 Hello from Docker! 即表示安装成功。


二、安装 Docker 可视化管理界面 (Portainer)

1. 存储卷(Volume)操作

存储卷是 Docker 用来保存数据的“硬盘”,即使更新或重建容器,数据也不会丢失。

1
2
3
4
5
6
7
8
# 查看所有数据卷
docker volume ls

# 创建一个名为 my_data 的卷
docker volume create my_data

# 查看某个卷的详细信息(如存储路径)
docker volume inspect my_data

2. 安装 Portainer

1
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
  • 访问地址:http://192.168.5.14:9000
  • 通过浏览器访问使用图形化管理工具

    3. 注册 Portainer

1
2
3
4
5
# 重启容器生成新令牌
sudo docker restart portainer

# 获取最新令牌
sudo docker logs portainer 2>&1 | grep "setup_token=" | tail -1

用新令牌在网页上继续初始化即可。


三、部署 Nextcloud 个人网盘

1. 在 Portainer 中创建容器

姓名图片输入一样的即可
  • 端口映射:主机 8080 → 容器 80
  • 数据持久化/var/www/html/home/guzihan/Downloads/NextCloud
  • 重启策略:选择 always

    2. 更新 DNS 配置

访问 ip:9000,修改 config/config.php,添加完成后重启即可。


四、Nextcloud 文件同步管理

1. 手动执行文件扫描

如果新文件未在网页端显示,需要进入容器执行扫描。

1
2
3
4
5
6
7
8
9
# 进入 Nextcloud 容器
sudo docker exec -it nextcloud bash
# 如果容器名字不同,先用 docker ps 查一下

# 执行文件扫描命令,同步新文件到数据库
php occ files:scan --all

# 退出容器
exit

2. 添加自动扫描任务(一劳永逸)

如果不想每次手动扫描,可以设置定时任务让 Nextcloud 自动扫描。

1
2
3
4
5
6
7
# 进入容器
sudo docker exec -it nextcloud bash

# 安装 cron 并添加定时任务(每5分钟扫描一次)
apt-get update && apt-get install -y cron
echo "*/5 * * * * php /var/www/html/occ files:scan --all" | crontab -
service cron start

这样设置后,系统会每 5 分钟自动扫描一次,新文件会在 5 分钟内同步到网页端。


五、权限修复

Nextcloud 无法删除文件(宿主机直接复制文件)

1
2
3
4
5
6
7
# 进入容器检查文件所有权
sudo docker exec -it nextcloud-app-1 bash
ls -la /var/www/html/data/

# 确保用户和组是 www-data,如果不对则修复
chown -R www-data:www-data /var/www/html/data
exit

六、常用命令速查

用途 命令
查看容器状态 docker ps
进入容器终端 sudo docker exec -it <容器名> bash
查看容器日志 docker logs <容器名>
重启容器 docker restart <容器名>
查看所有卷 docker volume ls
查看卷详情 docker volume inspect <卷名>
停止容器 docker stop <容器名>
删除容器 docker rm <容器名>
删除卷 docker volume rm <卷名>