【发布时间】:2018-07-16 16:51:02
【问题描述】:
我服务器的主驱动器快满了。所以我将/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
然后我使用 docker-compose up -d 启动我的所有 docker 容器
所有容器都可以正常工作。
但是当我重新启动或重新启动 docker 服务时,我的一个容器丢失了一堆文件(其他容器工作正常)。其中一个文件是/opt/myproj/mxnet/下的libmxnet.so(filemode:777)
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 文件夹中 __init__.py 丢失但 __init__.pyc 保持正常。这真的是有线的。
然后我尝试删除图像和容器并再次导入,结果相同。
更新:
此错误再次发生在另一台服务器上。但是这次我重新安装了系统,并没有将 docker 移动到另一个驱动器。似乎与docker目录位置无关
【问题讨论】:
-
如果这发生在我身上,我可能会删除
/var/lib/docker的两个副本中的所有内容并重新开始,根据需要重新运行docker build和/或docker pull以恢复我的图像. -
@DavidMaze 我已尝试删除 /var/lib/docker 和
docker load图像下的所有文件,但未修复。谢谢 4 回复
标签: docker permissions rsync