Docker Compose部署HomeAssistant录制视频到网络硬盘失败求助
解决HomeAssistant Docker容器写入CIFS网络共享的权限问题
你的问题核心在于三个关键点:目录拼写不一致导致路径混乱、CIFS挂载未适配容器内用户权限、自动化配置未使用正确的容器内映射路径。以下是分步解决方案:
1. 纠正目录拼写错误并重新挂载
你操作中混用了camara和camera两个目录名,先统一为camara:
- 清理错误挂载与目录:
sudo umount ~/docker/homeassistant/mnt/camara sudo rm -rf /mnt/camera sudo mkdir -p ~/docker/homeassistant/mnt/camara - 带权限参数重新挂载CIFS共享(HomeAssistant容器默认以uid=1000、gid=1000的用户运行):
sudo mount -t cifs //192.168.1.5/Camara ~/docker/homeassistant/mnt/camara -o username=casa,password=1234,uid=1000,gid=1000,file_mode=0775,dir_mode=0775提示:可通过
id casa查看你的主机用户uid/gid,替换上述对应值 - 测试挂载有效性:
ls -l ~/docker/homeassistant/mnt/camara sudo touch ~/docker/homeassistant/mnt/camara/test_perm.txt
2. 确认Docker Compose卷映射配置
确保docker-compose.yaml中卷映射的主机路径与挂载目录完全一致:
volumes: - './config:/config' - ~/docker/homeassistant/mnt/camara:/Camara:rw
此配置将主机的
~/docker/homeassistant/mnt/camara映射到容器内的/Camara目录,赋予读写权限
重启容器生效:
cd ~/docker/homeassistant docker-compose down && docker-compose up -d
3. 修正自动化录制路径
自动化配置必须使用容器内的映射路径/Camara,而非主机本地路径:
data: filename: /Camara/filename.mp4
4. 可选:实现开机自动挂载(持久化)
编辑/etc/fstab添加以下内容,避免主机重启后挂载失效:
//192.168.1.5/Camara /home/casa/docker/homeassistant/mnt/camara cifs username=casa,password=1234,uid=1000,gid=1000,file_mode=0775,dir_mode=0775 0 0
测试配置有效性:
sudo mount -a
内容的提问来源于stack exchange,提问作者Juan Carlos
相关产品推荐
相关产品推荐

