我只是尝试了您列出的命令,它们在OSX平台和简单的Linux平台下都对我有用。问题是您正在将$(pwd)(从主机)安装到/
backup(在ubuntu映像中,上面运行的第三个docker)。
我怀疑当您启动命令时,您是否位于不可写的目录中?我试图让它失败是这样的:
mkdir failmechmod 000 failmecd failmedocker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
但是,它有效:-)
所以,我进入了一个root不能写的目录:
cd /procroot@kube:/proc# docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdatatar: /backup/backup.tar: Cannot open: Permission deniedtar: Error is not recoverable: exiting now
您是否可能是从无法由root写入的目录开始的?
请将输出发布到以下命令:首先,运行:
docker run --name ins --volumes-from dbdata -v $(pwd):/backup ubuntu sleep 99999 &
(而不是您列出的backup command命令。)
然后进行检查并发布结果:
docker inspect ins
答案是那是由selinux引起的错误。原始海报找到了答案:
setenforce 0



