设置Docker运行时根目录

作者: JavasBoy 分类: Docker 发布时间: 2015-03-14 11:03 ė 117,854 views 6 1条评论

因第一次玩 Docker,装系统的时候没有分配 /var 分区,而500多G的剩余空间都分给了 /home。
当玩起 Docker,才发现这货默认存放位置是在 /var/lib/docker。
解决方法有二:
法有一:重装系统、重新分区或者挂载新的磁盘到 /var/lib/docker,这也太不人性化了,忽略。。。下次部署 Docker 宿主机的时候得好好分区下。
法有二:改变 Docker 默认存放路径。

查了下手册发现: -g, --graph="/var/lib/docker" 设置Docker运行时根目录

使用 --graph 参数:docker --graph=/opt/docker -d,会自动生成/opt/docker目录(0700),并在该目录下创建 docker 相关文件
原来的镜像和容器都找不到了,因为路径改了(原来的镜像是在/var/lib/docker/devicemapper/devicemapper/{data,metadata})

Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致
在 ubuntu 中的位置是:/etc/default/docker
在 centos 中的位置是:/etc/sysconfig/docker

我使用 CentOS 7,所以只需要更改 vim /etc/sysconfig/docker 成

OPTIONS=--graph="/home/lib/docker" --selinux-enabled -H fd://

然后 service docker start 重新启动 Docker 的路径就改成 /home/lib/docker 了

2019/10/18日更新

Docker CE版本

json配置参数里 设置docker存储路径参数为 data-root

"data-root": "/data/docker"

--data-root是存储持久性数据(例如images,volumes和群集状态)的路径。 默认值为/var/lib/docker。 为了避免与其他守护程序发生任何冲突,请分别为每个守护程序设置此参数。

详细参数请参考官方文档: https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file

本文出自刘荣星的博客,转载时请注明出处及相应链接。

本文永久链接: https://www.liurongxing.com/set-docker-lib-dir.html

一条评论

  1. 深蓝 2016-05-26 23:01 回复

    哈哈,我第一次也遇到这情况了。
    不过我当时是虚拟机环境,果断回滚快照了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部