Docker问题:Docker默认路径存储空间不足,迁移Docker默认存储目录

问题

在docker使用用过程当中出现,出现以下错误提示:docker

ERROR: Service 'XXX' failed to build: write /var/lib/docker/tmp/GetImageBlob239544438: no space left on device

缘由

错误提示已经很明显了,就是如今docker存储路径所在分区存储空间不足,通常都是默认路径/var/lib/dokcer,固然,这个缘由引发的问题可能会有不少种,以前也也作到过,因此当docker突然出现问题的时候,记得df -h看一下空闲的空间大小。ubuntu

解决方案

此方案针对的系统环境和版本分别是: Contos 7Dokcer 17.03.2-ce,其余环境下并不必定有效。
  1. 关掉全部正在运行的容器测试

    docker stop $(docker ps -q -f status=running)
  2. 关闭docker服务ui

    systemctl stop docker
  3. 将Docker现目录挪到一个新目录下,这两个目录依照具体状况而定,个人分别是/var/lib/docker/home/dockerspa

    mv /var/lib/docker /home/docker
  4. 将原来的数据备份一份,备份大法好,万一不行还不至于损坏数据code

    tar zcf docker_file_bak.tar.gz /home/docker
  5. 修改服务启动命令,服务的service文件为/lib/systemd/system/docker.service,将里面的内容ExecStart=/usr/bin/dockerd修改成以下:it

    ExecStart=/usr/bin/dockerd -g 新目录
  6. 从新加载修改后的service文件容器

    systemctl daemon-reload
  7. 启动Docker服务file

    systemctl start docker
  8. 验证修改为功service

    docker info | grep "Docker Root Dir"

    能够看到结果已是新的目录

再次说明,该方案只在前面提到的环境下测试过,并非全部的环境都试用,由于以前在ubuntu 14.04和ubuntu 16.04上尝试使用该方法都不能生效,后续再进行说明。

相关文章
相关标签/搜索