docker 更换Docker Root Dir

docker 初始Docker Root Dir是/var/lib/docker,在/目录下,占空间比较大,机器挂了磁盘,希望把docker文件转移到磁盘上,本文采用更改docker配置文件的方法,其他方法请查阅参考文档。

一、清除机器中镜像和所有容器

如果机器中的镜像还要使用,请备份,目录更换后替换对应目录

1.1、删除所有容器

docker stop $(docker ps -q)

docker container prune

1.2、删除所有镜像

docker rmi -f $(docker images -q)

1.3、系统安全清理

docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B

1.4、查看docker各部分占用空间

docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              1                   0                   725.9MB             725.9MB (100%)
Containers          0                   0                   0B                  0B
Local Volumes       0                   0                   0B                  0B
Build Cache         0                   0                   0B                  0B

二、更改配置文件

2.1、修改或创建

# 没有该文件,就创建
vim /etc/docker/daemon.json
{
	  "data-root": "/iso2/root/var/lib/docker"
}

2.2、重启docker

systemctl stop docker.service 或者
service docker restart

2.3、查看docker info

docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 18.09.9
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
runc version: 0efb0c21ad466ab204d657c5d12d61d68f2bb46d
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.19.91-009.ali4000.alios7.x86_64
Operating System: Alibaba Group Enterprise Linux Server 7.2 (Paladin)
OSType: linux
Architecture: x86_64
CPUs: 16
Total Memory: 31.13GiB
Name: system011164061051.na62
ID: IRGT:PLTO:L2JJ:PPUA:DL5B:EEJQ:ZGK6:5N4A:PNFB:QL2M:QHLZ:RT56
Docker Root Dir: /iso2/root/var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

Docker Root Dir 已经修改

三、旧目录迁移和清理

如果使用之前的文件,把旧文件拷贝到新的目录。如果不需要清理

删除旧目录需要卸载挂载目录,负责会报错:

rm: cannot remove ‘overlay2/a2a61616ae313153b21b1ea43c1c9dd8afa1e0334869928859ec6ac29dba85ed/merged’: Device or resource busy

查看挂载详情

df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs   17G     0   17G   0% /dev
tmpfs          tmpfs      17G  111M   17G   1% /dev/shm
tmpfs          tmpfs      17G  1.2M   17G   1% /run
tmpfs          tmpfs      17G     0   17G   0% /sys/fs/cgroup
/dev/vda2      ext4       63G   54G  5.6G  91% /
/dev/vda1      ext4      1.1G  145M  809M  16% /boot
tmpfs          tmpfs     3.4G     0  3.4G   0% /run/user/0
overlay        overlay    63G   54G  5.6G  91% /var/lib/docker/overlay2/54877ea1eeaecc50bb65f4b213b2f18cbf562a9a9e34cfaf639429c73949539a/merged
overlay        overlay    63G   54G  5.6G  91% /var/lib/docker/overlay2/19f785436760a4c3d8908133cd224567ed7cc72c893508756fc64530a1ccac22/merged
overlay        overlay    63G   54G  5.6G  91% /var/lib/docker/overlay2/10ddce48edbbe564ca3dd01404a3be93f6de7d0115829f6ebc7fb4b489cd2e12/merged
overlay        overlay    63G   54G  5.6G  91% /var/lib/docker/overlay2/c4dde52e03e9bc90f1393f7912c2ba1d8b066b67be92fe2f787be6aeb10210ef/merged
overlay        overlay    63G   54G  5.6G  91% /var/lib/docker/overlay2/7e5efdbe7dc04158235186a0c1ee538810416f4b0db06c55e18878759c718ddc/merged
/dev/vdd       ext4      1.1T   80M  1.1T   1% /iso2
overlay        overlay    63G   54G  5.6G  91% /var/lib/docker/overlay2/a2a61616ae313153b21b1ea43c1c9dd8afa1e0334869928859ec6ac29dba85ed/merged

卸载挂载:

umount /var/lib/docker/overlay2/54877ea1eeaecc50bb65f4b213b2f18cbf562a9a9e34cfaf639429c73949539a/merged

#通常是容器挂载的卷,也可以使用以下命令卸载卷
docker stop $(docker ps -q)
docker container prune

四、参考文档

1、https://blog.csdn.net/haohaifeng002/article/details/108119112

2、https://blog.csdn.net/lhuang0813/article/details/123005016

3、https://www.cnblogs.com/51ma/p/15693398.html

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值