文章目录
docker 目录的迁移
迁移准备
常用运维指令
查看磁盘占用情况:df -h
查看docker自身的内存占用:docker system df
清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像):docker system prune
彻底清理:docker system prune -a (这命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.)
迁移
停止docker服务
systemctl stop docker
创建新的目录或磁盘
目录相关指令
查询磁盘空间占用
df -h
创建目录
mkdir \
磁盘相关指令
fdisk /dev/xxxx
根据提示,依次输入"n","p" "1",两次回车,"wq",分区就开始了,很快就会完成。
• 输入n添加新分区
• 输入p新建主分区
• 指定分区编号,输入1即可
• 指定起始扇区,默认即可,不推荐更改
• 指定结束扇区,代表分区大小,可以使用K,M,G指定分区大小,例如分配50G则输入50G即可
删除磁盘分区
parted -s /dev/sd<盘符> rm 3
parted -s /dev/sd<盘符> rm 4
// 3,4 代表第几个分区这里注意不要删除/根分区或BIOS分区, 一块磁盘情况下1,2一般有根/分区,
格式化硬盘
mkfs.ext4 /dev/xxx
建立挂载目录
mkdir /data
挂载硬盘
mount /dev/sdb /data
卸载磁盘
mount /dev/sdb
从旧目录迁移到新目录
(rsync是linux文件夹同步的命令,参数要加一个-r,因为文件夹要递归copy,如果在同一台服务器上面,直接cp也是可以的)
rsync -r -avz <旧目录> <新目录>
rsync -r -avz /var/lib/docker /home/docker/
配置docker文件
注意配置文件的目录
旧版本docker:
/etc/systemd/system/docker.service.d/devicemapper.conf
新版本docker: /usr/lib/systemd/system/docker.service
需要对此文件夹下的配置进行追加,根据docker版本的不同,可能会出现以下两种情况的配置,按照实际情况,追加--graph 参数即可
案例1
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
案例1需要追加 --graph <自己的目录名>
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /home/new_dir
案例2
ExecStart=/usr/bin/dockerd-current
案例2也是一样
ExecStart=/usr/bin/dockerd-current --graph /home/new_dir
案例3
以上2中方式都不生效的情况下
vi /etc/docker/daemon.json
新增之后,重启docker
{"data-root":"/home/docker-images"}
systemctl daemon-reload
systemctl restart docker
重新加载docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
检查docker配置是否正确修改
...
Docker Root Dir: /home/xxxx #你需要关注的地方
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
检查docker image是否还在
docker images
确定没问题之后,删除原来的镜像仓库
迁移完成
若文章对你有帮助,可以点赞或打赏支持我们。发布者:AaronYang,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/docker-%e5%ad%98%e5%82%a8%e7%9b%ae%e5%bd%95%e7%9a%84%e5%b9%b3%e6%bb%91%e8%bf%81%e7%a7%bb/