Docker存储位置修改
docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置
方法一 修改system配置文件
停止docker服务
[root@base ~]# systemctl stop docker
创建新目录,挂载数据盘
[root@base ~]# mkdir -p /data/docker_root
迁移/var/lib/docker数据到上述目录
[root@base ~]# cp -R /var/lib/docker/* /data/docker_root
修改docker配置
(/usr/lib/systemd/system/docker.service),增加--graph /data/docker_root即可
[root@base ~]# cat /usr/lib/systemd/system/docker.service
...
[Service]
Type=notify
ExecStart=/usr/bin/dockerd --graph /data/docker_root
...
重启并查看
[root@base ~]# systemctl restart docker
[root@base ~]# docker info
...
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.701GiB
Name: VM-22-12-centos
ID: 7ZG7:QHJ4:V6E2:PZRM:4GIR:GXK6:VU4W:FVF7:OX7Q:5J54:HLMW:GSFO
Docker Root Dir: /data/docker_root
...
#查看Root Dir目录已更换
方法二 软连接
默认情况下Docker的存放位置为:/var/lib/docker,可以通过下面命令查看具体位置
[root@base ~]# sudo docker info|grep "Docker Root Dir"
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Docker Root Dir: /var/lib/docker
直接的方法当然是挂载分区到这个目录,但是数据盘还有其它数据,所以采用修改镜像和容器的存放路径的方式达到目的,这个方法里将通过软连接来实现
停止docker服务
[root@base ~]# systemctl stop docker
迁移/var/lib/docker数据到上述目录
[root@base ~]# cp -R /var/lib/docker/* /data/docker_root
#创建软连接
[root@base ~]# ln -s /data/docker_root /var/lib/docker
重启并查看
[root@base ~]# systemctl restart docker
[root@base ~]# docker info
...
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.701GiB
Name: VM-22-12-centos
ID: 7ZG7:QHJ4:V6E2:PZRM:4GIR:GXK6:VU4W:FVF7:OX7Q:5J54:HLMW:GSFO
Docker Root Dir: /var/lib/docker
...
#查看Root Dir目录已更换
这时候启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
爱吃可爱多!
喜欢就支持一下吧
打赏
微信
支付宝