docker 更改存储位置
1、停止docker服务:systemctl stop docker
2、创建新的docker目录。我在/home目录下面创建了/home/lib/docker,执行命令是 mkdir - p /home/lib/docker
3、迁移/var/lib/docker目录下的文件到/home/lib/docker 下面,执行命令是:
cp -R /var/lib/docker/* /home/lib/docker/
4、指定镜像和容器存放路径的参数是--graph=/var/lib/docker,我们只需要修改配置文件指定启动参数即可。
Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致,在Ubuntu 中的位置是:/etc/default/docker,在 CentOS 中的位置是:/etc/sysconfig/docker。
如果是CentOS6 则添加下面这行:
OPTIONS=--graph="/root/data/docker" --selinux-enabled-H fd://
如果是Ubuntu 则添加下面这行(因为Ubuntu 默认没开启selinux):
OPTIONS=--graph="/root/data/docker" -H fd://# 或者DOCKER_OPTS="-g/root/data/docker"
最后重新启动,Docker的路径就改成/root/data/docker 了。
centos7下,也可以
修改docker.service文件,使用-g参数指定存储位置
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
// reload配置文件
systemctl daemon-reload
// 重启docker
systemctl restart docker.service
如果docker是1.12或以上的版本,可以修改(或新建)daemon.json文件。修改后会立即生效,不需重启docker服务。
vim /etc/docker/daemon.json
{"registry-mirrors":["http://7e61f7f9.m.daocloud.io"],"graph":"/new-path/docker"}