之前用 docker 部署 clouddrive2,出现了文件夹无法挂载,这里记录一下解决的方法

sudo mount --bind /volume1/docker/clouddrive2(这个就是你要给的路径) /volume1/docker/clouddrive2 (这个就是你要给的路径)
sudo mount --make-shared /volume1/docker/clouddrive2/ (这个就是你要给的路径)

直接用命令安装,群晖自带的的我不知道怎么设置文件夹为 shared

docker run -d \
    --name clouddrive \
    --restart unless-stopped \
    --env CLOUDDRIVE_HOME=/Config \
    -v <path to accept cloud mounts>:/CloudNAS:shared \
    -v <path to app data>:/Config \
    -v <other local shared path>:/media:shared \
    --network host \
    --pid host \
    --privileged \
    --device /dev/fuse:/dev/fuse \
    cloudnas/clouddrive2

clouddrive2 默认端口是 19798,如果需要自定义端口映射,需要按下面的做

Docker 命令中添加端口映射,可以使用 -p 选项。假设你想将容器的 19798 端口映射到主机的 8080 端口,命令可以如下修改:

注意:由于你已经在使用 --network host 选项,这意味着容器将使用主机的网络堆栈,在这种模式下,端口映射将被忽略。因此,如果你希望使用端口映射,你需要移除 --network host 选项。完整的命令如下:

原本默认DNS是 8.8.8.8 可能出现无法访问,建议手动设置 dns

docker run -d \
    --name 8076_clouddrive \
    --restart unless-stopped \
    --env CLOUDDRIVE_HOME=/Config \
    -v /volume1/docker/clouddrive2/CloudNAS:/CloudNAS:shared \
    -v /volume1/docker/clouddrive2/Config:/Config \
    -v /volume1/docker/clouddrive2/media:/media:shared \
    -p 8080:19798 \
    --pid host \
    --privileged \
    --device /dev/fuse:/dev/fuse \
    --dns 180.76.76.76 \
    cloudnas/clouddrive2```

这样配置后,容器内部的 `19798` 端口将会映射到主机的 `8080` 端口。根据实际需求调整端口号即可。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐