webdav,是这个项目的Docker实现:https://github.com/hacdias/webdav
基于alpine实现,支持 amd64/arm64/armv7。
注意:只有webdav协议,没有http文件浏览器功能。
创建前请在要映射的config
目录下按官方教程建立config.yml
。
docker cli
docker run -d \
--name go-webdav \
--network host \
--restart always \
-v $(pwd)/config:/etc/webdav `# 冒号左边请修改为你想在主机上保存配置的路径` \
-v $(pwd)/file_path:/file_path `# 你希望加入webdav的路径,冒号两边都由你自己定义,如需多个目录就使用多个映射` \
nevinee/go-webdav
docker-compose
新建docker-compose.yml
文件如下,并以命令docker-compose up -d
启动。
version: "3"
services:
go-webdav:
image: nevinee/go-webdav:latest
volumes:
- ./config:/etc/webdav # 冒号左边请修改为你想在主机上保存配置的路径
- ./file_path:/file_path # 你希望加入webdav的路径,冒号两边都由你自己定义,如需多个目录就使用多个映射
restart: always
network_mode: host
container_name: go-webdav
armv7设备如若无法使用网络,可能是seccomp问题,详见 这里。
解决办法如下:
-
docker cli方式可以在创建命令中增加一行
--security-opt seccomp=unconfined \
。 -
docker-compose方式请在
docker-compose.yml
最后增加两行:security_opt: - seccomp=unconfined
address: 0.0.0.0
port: 2021
auth: true
tls: false
prefix: /
scope: .
modify: true
rules: []
users:
- username: "USERNAME"
password: "PASSWORD"
scope: /media