首页 > 系统相关 >linux docker存储空间迁移

linux docker存储空间迁移

时间:2023-01-20 11:00:29浏览次数:42  
标签:lib service systemctl linux docker Docker 存储空间 socket

1.查看docker镜像存放目录空间大小

  1. du -hs /var/lib/docker/

2.停止docker服务。

  1. systemctl stop docker

3.查看磁盘容量大的空间,且在上面创建新的docker目录。

  1. df -h
  2. mkdir -p /mnt/www/docker/lib

4.迁移/var/lib/docker目录下的文件到新创建的目录/mnt/www/docker/lib

  1. rsync -avz /var/lib/docker /mnt/www/docker/lib

5.编辑 /etc/docker/daemon.json 添加如下参数

  1. {
  2. "graph": "/data/docker/lib/docker"
  3. }

6.重新加载docker,并重启docker服务。

  1. systemctl daemon-reload && systemctl restart docker

systemctl daemon-reload

systemctl restart docker.service

systemctl status docker.service

 

7.检查docker是否变更为新目录/mnt/www/docker/lib

  1. [root@localhost ~]# docker info
  2. ...
  3. Docker Root Dir: /data/docker/lib/docker
  4. Debug Mode (client): false
  5. Debug Mode (server): false
  6. Registry: https://index.docker.io/v1/
  7. ...

8.删掉docker旧目录

  1. rm -rf /var/lib/docker

常见docker清理方法

docker system df 类似于Linux上的df命令,用于查看Docker的磁盘使用情况:

docker system prune 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。

docker system prune -a 清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker

 

问题

故障分析
Docker 有两个服务进程文件,可以通过cd /lib/systemd/system/ && ll|grep docker查看,分别是docker.service unit file 和 docker.socket unit file,上面的警告意味着如果你试图停止docker服务,但docker.socket unit file还处于激活状态。

解决方法
停止 docker socket
# 停止 docker 服务
sudo systemctl stop docker.socket
sudo systemctl stop docker.service

# 启动 docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker.service

删除 docker socket 文件
如果上面”温和“方法并没有解决你的问题,我们可以采用下面”暴力“方法。

# 删除 docker socket 文件
cd /lib/systemd/system/ && rm -rf docker.socket
# 查看 docker 状态,已dead
sudo systemctl status docker.service
# 重新创建 docker.socket
cd /lib/systemd/system/
vim docker.socket
# 添加如下内容
[Unit]
Description=Docker Socket for the API
PartOf=docker.service

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target

# 重启 docker
sudo systemctl daemon-reload
sudo systemctl restart docker.service

此时,再进行 docker 相关操作,比如:停止、启动、重启,均可正常执行。

标签:lib,service,systemctl,linux,docker,Docker,存储空间,socket
From: https://www.cnblogs.com/wjsqqj/p/17062532.html

相关文章

  • Linux下安装DataX和DataX-web
    Linux下安装DataX和DataX-web---------------前言---------------......
  • Rocky Linux 系列1 --- U盘安装
    一、环境1.RockyLinux9.12.背景最近新购置一台机器,安装CentOS7之后发现无法找到有线网卡,咨询品牌经销商之后得知硬件较新需要安装更高版本的Linux。在网上对比之......
  • LINUX学习之查找文件命令(七)
    find命令命令描述find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端以下是find命令的使用参数:find命令参数描述-name按照指定的......
  • linux 基础(5)文件的打包和压缩
    文件的压缩是非常重要和常见的操作。在Windows下,zip和rar经常使用的压缩软件,框选一堆文件,右键用WinRAR就可以完成压缩。不过在linux下通常不这么做。一是因为li......
  • LINUX学习之文件压缩和解压命令(六)
    gzip/gunzip命令描述gzip:压缩文件,将文件压缩为.gz文件gunzip:解压.gz文件使用此命令要注意以下几点:只能压缩文件,不能压缩目录不保留原先文件若有多个文件会产生多......
  • LINUX学习之时间日期类命令(五)
    date命令命令描述date命令用于在Linux系统中显示或设置当前系统时间。它可以显示当前日期和时间,并允许用户格式化输出。它还可以用于将系统时间设置为指定的日期和时间。......
  • Homebrew国内如何自动安装(国内地址)(Mac & Linux)
    自动脚本(全部国内地址)(复制下面一句脚本到终端中粘贴回车)苹果电脑常规安装脚本(推荐完全体几分钟安装完成):/bin/zsh-c"$(curl-fsSLhttps://gitee.com/cunkai/Hom......
  • 狂神说笔记——Linux快速入门27
    Linux快速入门参考于:B站狂神视频!Java开发之路:JavaSE、MySQL、前端(HTML、Css、JS)、JavaWeb、SSM框架、SpringBoot、Vue、SpringCloud、Mybatis-plus、Git、Linux(CentO......
  • linux搭建webapp实战
    首先介绍下linux,linux因其开源,定制化高,安全等原因,成为了目前web应用部署首选的操作系统,linux操作系统有很多版本,常见的有centos,debian,RHLE,redhat,乌班图等等。今天我选了红......
  • 基于docker搭建redis集群
    在docker已安装完毕的情况下,拉取redis镜像#这里拉取最新的redis镜像。当然也可以拉取指定版本的镜像dockerpullredis:5.0dockerpullredis创建redis容器#命令如下......