关于docker的一些事儿

执行指令:docker load -i *.tar时docker报空间不足的问题

注意定期清理缓存呀~

docker system prune

查看docker位置

docker info|grep Dir

查看根路径磁盘占用率

df -Th /var/lib/docker

试试看var里排名前10的大文件看能不能删掉些:

du -h /var | sort -rh | head -n 10

如果占用率比较高,尝试如下操作

另外提醒一句,没有sudo权限别硬刚~~~

1.清理无用文件或者悬空镜像

docker image prune -a --force --filter "until=240h"  # 240h可根据情况修改

2.更换docker默认存储路径

1)建个新的保存路径

mkdir -p /home/***/docker/lib

2)配置docker启动文件

vi /etc/systemd/system/docker.service.d/devicemapper.conf   #原本没有就新建一个

添加这个内容:

[Service]
ExecStart=/usr/bin/dockerd --graph=/home/***/docker/lib/docker

或者

sudo vim /etc/docker/daemon.json

查看并修改里面的存储位置,如:Docker Root Dir: ***

3)重新加载docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

3.调整docker服务器启动参数

docker info查看有没有Base Device Size
若有且过小就针对性修改一些值~

 vim /usr/lib/systemd/system/docker.service
[root@*** ~]# grep "ExecStart=" /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd  -H fd:// --containerd=/run/containerd/containerd.sock -s=devicemapper --storage-opt dm.basesize=60G --storage-opt dm.loopmetadatasize=20G

其中:
dm.basesize 默认为10G,限制容器和镜像的大小
dm.loopdatasize 存储池大小,默认为100G
dm.loopmetadatasize 元数据大小,默认为2G
dm.datadev 存储池设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/data文件
dm.metadatadev 元数据设备,默认生成一个/var/lib/docker/devicemapper/devicemapper/metadata文件
dm.fs 用于基本映像的文件系统(xfs或ext4)
dm.blocksize:精简池的自定义块大小。默认值为64K。

4.扩容存储空间

进入docker的根目录
查看空间使用情况:

df -h  /var/lib/docker/

查看可分配空间:

sudo vgdisplay

扩容到20G :

lvextend -L 20G /dev/mapper/ubuntu–vg-ubuntu–lv

重新计算容量:

 resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
 df /var/lib/docker/

5.软链接

1)复制到新的docker安装目录

cp -a /var/lib/docker/   /home/***/docker_new_dir/

不放心可以备份一下:

mv -u /var/lib/docker /var/lib/docker.bak

2)关停Docker服务

sudo systemctl stop docker

3)新建链接

ln -fs /home/***/docker_new_dir/docker /var/lib/docker

4)重启docker服务

systemctl start docker

6.删点日志吧

日志位置,emmmmm,一般在/var/lib/docker/container或者/var/log,别虎,可以先复制到别的位置,一般是json.log结尾的文件哦~

7.试试迁移到其他盘

看看空间:

df -h

查看docker镜像和容器存储目录的空间大小

du -sh /var/lib/docker/

停止docker服务:

systemctl stop docker

迁移docker到其他磁盘:


mkdir -p /data2/docker/lib/

rsync -avz /var/lib/docker /data2/docker/lib/

修改docker配置:
修改/etc/docker/daemon.json,增加docker目录配置

vi /etc/docker/daemon.json

添加:

{
“exprimential”:true,
“graph”:" /data2/docker/lib/",
}

重载、重启docker服务:

systemctl daemon-reload && systemctl restart docker

检查docker是否绑定新目录:

docker info

看看docker root dir变没变

删除旧的docker目录:

rm -rf /var/lib/docker

8.更多

懂得不多,找资料可以去看看这个url:

https://docs.docker.com/engine/reference/commandline/dockerd/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值