问题背景
问题起因是我要把我在笔记本上生成的镜像导入到服务器运行,镜像有点大,大概有十几G。导入镜像的命令如下docker load -i xxx.tar
。本来这么大个的镜像传到服务器上就已经让我等的非常不耐烦,结果导入的时候还给我来这么一下,提示No space left on device
错误。
其实这个说明已经非常清楚了,空间不够。Google去寻找相关的解决办法,但是大部分却是docker1.8版本后的解决方案,修改docker的虚拟空间大小,但是偏偏测试机上的环境是docker1.7版本,算相对很早的版本了,缺少很多很有用的参数,也包括调整虚拟空间的路径参数。我想要升级docker的版本,但是docker1.8要求至少要CentOS7以上的操作系统,然而测试机又是CentOS6。。
感觉就好像走了一个莫比乌斯环一样,找了一圈依赖结果回到原点
偷天换日
把不爽吐槽完以后也不绕弯子了,找到一个非常干净的解决办法,就是利用ln命令做软链接,将docker默认存放镜像的路径指向大空间。
实际操作
首先把docker先停止
service docker stop
然后来到/var/lib目录下
cd /var/lib
ll看到docker默认存放的目录在这里,然后我们做个备份
mv docker/ docker_bak/
然后做软连接
ln -s big_space_path docker
最后重启docker
service docker start
再次导入镜像
Mission Complete
网友评论