/var/lib/docker/overlay2 占用很大,docker数据目录迁移

本文介绍了如何查看Docker磁盘使用情况并进行清理,包括使用`docker system df`检查磁盘状态和`docker system prune`及`docker system prune -a`进行清理。此外,还详细阐述了如何迁移Docker数据目录,通过修改配置文件实现数据存储位置的变更,以优化磁盘管理。最后,展示了如何验证数据目录的更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、查看磁盘使用情况docker system df

[root@iZuf6ijiwyd0gil5jyti17Z ~]# docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              5                   4                   978.6 MB            546.1 MB (55%)
Containers          4                   3                   892.8 MB            0 B (0%)
Local Volumes       1                   1                   92 B                0 B (0%)

2、清理磁盘docker system prune

[root@iZuf6ijiwyd0gil5jyti17Z ~]# docker system prune
WARNING! This will remove:
	- all stopped containers
	- all volumes not used by at least one container
	- all networks not used by at least one container
	- all dangling images
Are you sure you want to continue? [y/N] y
Deleted Containers:
0ace31348ef73714f579037703076c0ecbafbbe6267066706d597e13a6f5987f

Total reclaimed space: 620.6 MB
说明:可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)

3、清理磁盘docker system prune -a

[root@iZuf6ijiwyd0gil5jyti17Z ~]# docker system prune -a
WARNING! This will remove:
	- all stopped containers
	- all volumes not used by at least one container
	- all networks not used by at least one container
	- all images without at least one container associated to them
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: docker.io/redis:latest
untagged: docker.io/redis@sha256:08e282682a708eb7f51b473516be222fff0251cdee5ef8f99f4441a795c335b6
deleted: sha256:de974760ddb2f32dbddb74b7bb8cff4c1eee06d43d36d11bbca1dc815173916e
deleted: sha256:6b55c9d53e82aae844119f70be80e7212c57eb7a1efd13f11934eb53fc8ab2e8
deleted: sha256:1a1fe5dd46b6f7387e0185626d8c22ec69f511bfb361beb6a07d1647b5044956
deleted: sha256:ef615ba85683864f78d22bf8bb98a1d54a90701da7a066562ef511bc5cc292c6
deleted: sha256:f448a5cc1367794bb2f15d887438c8b43f2324ee3523f5d95c15997685cc816d
deleted: sha256:e481db33c0c73ee7de5ecda57c21fcfb7eeeff7d22fcc4ad0166b0bf64a63a32
untagged: docker.io/ubuntu:latest
untagged: docker.io/ubuntu@sha256:3c9c713e0979e9bd6061ed52ac1e9e1f246c9495aa063619d9d695fb8039aa1f
deleted: sha256:26b77e58432b01665d7e876248c9056fa58bf4a7ab82576a024f5cf3dac146d6
deleted: sha256:9de65d1e8b2782409b2420bf9347003a43e91bb65c1e4c8fbd7d098d6234f359
deleted: sha256:e0f8e3acb2bf7fe9384463ae7009179d299b211e7cf17c2bf9d8e5e248cfe5b0
deleted: sha256:0e64bafdc7ee828d0f3995bebfa388ced52a625ad2969eeb569f4a83db56d505
untagged: docker.io/mysql:latest
untagged: docker.io/mysql@sha256:6e0014cdd88092545557dee5e9eb7e1a3c84c9a14ad2418d5f2231e930967a38
deleted: sha256:cbe8815cbea8fb86ce7d3169a82d05301e7dfe1a8d4228941f23f4f115a887f2
deleted: sha256:c74b92ab7fde96874c2f7afa77e338ebe739b829f5cb28a9975c9b0dcb47feb9
deleted: sha256:fded7187915726c2d2d18c8178cd70ab9aceab27f49a68ead928a662664b9402
deleted: sha256:217ef0e6aab8111068df664529c4bdcfc2b58701913028fd0d61b00265ad5a9b
deleted: sha256:1ab4dbca7ef7a8eb6f7ea8ddd780b5d55aac2a0098f2c217c68e31216a2de140
deleted: sha256:1fbdda78e87b76772be16bd4a745db7f95d9af70d5a3728260548380121ae711
deleted: sha256:cd35e2328f0670969657f1abae8beffbc1eb1fddbaf667e1e6e6286598500a35
deleted: sha256:068b92efc0504adcd3c23f16fde80775a2f4dfe485e242206f638eae72c4fa1b
deleted: sha256:7c8818a166d9666c68fcdbe421c30568d60d51a505e540f42901664113047a75
deleted: sha256:5aa8f65565168fd7db2aa6b9f8fb1db746aa598fa3854dcbdbb49d5a29f6d8a5
deleted: sha256:cca9d1bafa1ee67bb4d7178732c0955a40a5dea6e5b989f61248984f26f7306b
deleted: sha256:34ca91e79c4027120ca740231d415c739cccad57d1ee68d6a6e67ca60bbaf3a4
deleted: sha256:7e718b9c0c8c2e6420fe9c4d1d551088e314fe923dce4b2caf75891d82fb227d

Total reclaimed space: 655.1 MB

说明:清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了!(慎用)

4、迁移数据目录
4.1停止docker服务

systemctl stop docker

4.2创建docker新目录

mkdir -p /home/dockerData

4.3迁移/var/lib/docker目录下面的文件到/home/dockerData

rsync -avzP /var/lib/docker /home/dockerData/

4.4查看配置

systemctl status docker

配置查看
4.5修改配置

vim /usr/lib/systemd/system/docker.service
ExecStart后添加--graph=/home/dockerData/docker
#原来的
ExecStart=/usr/bin/dockerd-current  \
#修改之后的
ExecStart=/usr/bin/dockerd-current --graph=/home/dockerData/docker \

4.6重启docker

systemctl daemon-reload
systemctl start docker

5、查看数据目录

docker info
... ...
Security Options:
 seccomp
  WARNING: You're not using the default seccomp profile
  Profile: /etc/docker/seccomp.json
Kernel Version: 3.10.0-1062.18.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 3
CPUs: 1
Total Memory: 991 MiB
Name: iZuf6ijiwyd0gil5jyti17Z
ID: CJZS:AJZL:B3CP:VD3Q:LIXV:CGLI:DHU3:OZIO:GIW2:FKXJ:VAUB:4GY4
Docker Root Dir: /home/dockerData/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
... ...

查看验证
此时,可以查看镜像都存在,重新启动容器即可,完美解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值