1.背景
实际在运用docker环境时,我们docker仓库默认存放位置为:/var/lib/docker,这个目录就会不断累计用户磁盘,对于一般机器磁盘都不会太大,都会有个挂载磁盘,我们希望docker的仓库,运行都在挂载磁盘上
例如
/root下磁盘有90G,也许一个镜像都占了10G
/data目录下有3.5T,这就非常宽裕了,所以我希望docker服务都挂载在这里
这样做,最直接例子就是es,一般es数据够大的情况,90G,远远不够,致使服务跑到一半就无法写入数据了
2.方法一:软链接
1.查看docker仓库目录:
[root@i ~]# docker info | grep "Docker Root Dir"
Docker Root Dir: /var/lib/docker
2.停掉docker服务
[root@i ~]# service docker stop
3.移动旧仓库到新仓库并做软链接
[root@i ~]# mv /var/lib/docker /data/docker
(这一步可以不做,那么你的仓库将变成新仓库)
[root@i ~]# ln -s /data/docker /var/lib/docker
这一步做软链接
[root@i ~]# systemctl restart docker.service
这一步重启docker
[root@i ~]# docker info | grep "Docker Root Dir"
查看docker挂载目录
4.直接使用新仓库并做软链接
[root@i ~]# ln -s /data/docker /var/lib/docker
这一步软链接
[root@i ~]# systemctl daemon-reload
这一步重载仓库为新仓库
[root@i ~]# systemctl restart docker.service
重启docker服务
[root@i ~]# docker info | grep "Docker Root Dir"
查看docker挂载目录
3.方法二:修改配置文件挂载目录(Centos7)
[root@i ~]# vi /usr/lib/systemd/system/docker.service
# 修改配置文件,new-path为新仓库路径
ExecStart=/usr/bin/dockerd --graph /{new-path}/docker
[root@i ~]# systemctl daemon-reload
重载配置,并同步仓库路径
[root@i ~]# systemctl restart docker.service
重启docker服务
[root@i ~]# docker info | grep "Docker Root Dir"
查看docker信息
3. 为docker添加国内源
[root@i ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://a93qon26.mirror.aliyuncs.com"],
"insecure-registries": ["172.16.1.201"],
"exec-opts": ["native.cgroupdriver=systemd"]
}