我使用 Docker 和 Docker Compose 来管理容器。出于备份原因,我之前已将所有 Docker 文件(卷等)在其上运行,/home/docker
并通过 进行符号链接/var/lib/docker -> /home/docker
。
过了一会儿,我决定/home/docker
使用
$ cp -r /home/docker /my/new/ssd/docker
$ rm /var/lib/docker
$ ln -s /my/new/ssd/docker /var/lib/docker
$ rm -r /home/docker
我担心这会改变所有权限,因为由于权限问题,我无法再运行大多数容器。
示例:Azuracast 抛出以下错误:
{"level":"error","time":"2022-07-22T23:30:02.243","sender":"service","message":"error initializing data provider: open /var/azuracast/sftpgo/sftpgo.db: permission denied"}
/var/azuracast
存储在docker卷上的位置。
我现在想恢复所有这些权限。
有没有办法恢复所有现有卷的 Docker 权限或告诉 Docker 处理这个问题?
我目前尝试过的方法是:我以递归方式将所有权限更改为root:root
使用chown -R root:root /my/new/ssd/docker
。
这个问题给我的服务器环境造成了严重的问题,我知道使用cp -r
而不是rsync -aAX
一个巨大的错误,所以我非常感谢任何帮助。
提前致谢。