Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker容器在重新启动Docker服务或重新启动后丢失文件_Docker_Permissions_Rsync - Fatal编程技术网

Docker容器在重新启动Docker服务或重新启动后丢失文件

Docker容器在重新启动Docker服务或重新启动后丢失文件,docker,permissions,rsync,Docker,Permissions,Rsync,我服务器的主驱动器快满了。因此,我将/var/lib/docker目录移动到第二个驱动器位置/media/my username/sec drive/docker sudo -s # enter root mode service docker stop rsync -aXS /media/my-username/sec-drive/docker /var/lib/docker rm -rf /var/lib/docker ln -s /media/my-username/sec-drive/d

我服务器的主驱动器快满了。因此,我将
/var/lib/docker
目录移动到第二个驱动器位置
/media/my username/sec drive/docker

sudo -s # enter root mode
service docker stop
rsync -aXS /media/my-username/sec-drive/docker /var/lib/docker
rm -rf /var/lib/docker
ln -s /media/my-username/sec-drive/docker /var/lib/docker
serivce docker start
然后使用
dockercompose-d
所有容器都可以正常工作

但当我重新启动或重新启动docker服务时,我的一个容器丢失了一堆文件(其他容器工作正常)。其中一个文件是
/opt/myproj/mxnet/

use local mxnet
RuntimeError: Cannot find the files.
List of candidates:
/opt/myproj/mxnet/libmxnet.so
/opt/myproj/mxnet/libmxnet.so
/opt/myproj/mxnet/../../build/libmxnet.so
/usr/local/nvidia/lib/libmxnet.so
/usr/local/nvidia/lib64/libmxnet.so
../../../libmxnet.so
那些文件似乎是随机丢失的。mxnet文件夹中的
\uuuu init\uuuuuuuuuuupy
丢失,但
\uuuuuu init\uuuuuuuuuuupyc
保持正常。那真是太好了

然后我尝试删除图像和容器并再次导入,结果是相同的

更新:


此错误再次发生在另一台服务器上。但这次我重新安装了系统,没有将docker移动到另一个驱动器。似乎这与docker目录位置无关

您必须指示docker守护进程更改文件夹

docker.service
中,您应该添加一个参数(-g):

这里有一些参考资料:


如果这种情况发生在我身上,我可能会删除
/var/lib/docker
两个副本中的所有内容,然后重新开始,根据需要重新运行
docker build
和/或
docker pull
,以取回我的图像。@DavidMaze我已尝试删除/var/lib/docker和
docker load
图像下的所有文件,但没有修复。thx 4 Reply已经使用了软链接
ln-s/media/my username/sec drive/docker/var/lib/docker
。你是说这就是问题的原因吗?我将尝试您的解决方案并再次发表评论。非常感谢。我记得我用过软链接。这不是问题所在。对我来说,它是传递给demon的正确参数。这个错误再次发生在另一台服务器上。但这次我重新安装了系统,没有将docker移动到另一个驱动器。似乎它与docker目录位置无关。
FROM:
ExecStart=/usr/bin/docker daemon 
TO:
ExecStart=/usr/bin/docker daemon -g /new/path/docker