zoukankan      html  css  js  c++  java
  • 【简记】修改Docker数据目录位置,包含镜像位置

    为啥要改?

    Docker安装后默认下载的位置在/var/lib/docker ,如果/var分区没有独立分出来,Linux下默认是与/根分区在一起。一般我们装Linux系统的时候,除了做邮件服务器外,都不会把/var分区独立分出来,而且/分区一般不会太大,比如我现在用的这台根分区50G的,在拉镜像的时候提示硬盘空间不足的问题,而其它分区还有很大空间。基于此情此景,我们都要把这个目录改一下

    查看当前Docker目录位置

    #展示当前docker的配置信息
    docker info
    -------------------------------------------------------------------
    #在信息找到Docker Root Dir,对应的就是了,默认为:
    Docker Root Dir: /var/lib/docker
    

    几种改法

    注意以下几种方式是互斥的,我折腾了一会,才发现,如你已经注意到,那此坑已平。

    1、最简单也是最暴力的方式——修改 /etc/systemd/system/multi-user.target.wants/docker.service

    sudo vim /etc/systemd/system/multi-user.target.wants/docker.service
    -------------------------------------------------------------------
    #找到ExecStart部分,在此行末尾添加--graph=你的目录,我的如下
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 
    --graph=/home/hellxz/docker-home
    
    -------------------------------------------------------------------
    #保存退出,接着让systemd重新读取下这些service等的配置
    sudo systemctl daemon-reload
    #重启docker服务
    sudo systemctl restart docker
    

    --graph=/path/to/path可以替换成-g /path/to/path 效果等同

    2、官方文档中的方式,修改 /etc/docker/daemon.json

    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"],
      "data-root": "/home/hellxz/docker-home"
    }
    

    保存退出,重启docker服务

    sudo systemctl restart docker
    

    主要是用data-root来修改docker的工作目录

    另外要提到的一点是,我尝试了drop-in文件方式,没有作用。

    验证

    验证一:

    查看 docker info

    验证二:

    查看之前/的容量

    拉个镜像,如mysql:5.7

    再查看/容量

    相比上边的,镜像位置已经修改完毕。
    enjoy.

  • 相关阅读:
    【Hadoop学习之十三】MapReduce案例分析五-ItemCF
    【Hadoop学习之十二】MapReduce案例分析四-TF-IDF
    【Hadoop学习之十】MapReduce案例分析二-好友推荐
    【Hadoop学习之九】MapReduce案例分析一-天气
    【Hadoop学习之十一】MapReduce案例分析三-PageRank
    RPC(Remote Procedure Calls)远程过程调用
    基于java开源区块链Blockchain相关项目介绍
    按 file 分组统计视图 | 全方位认识 sys 系统库
    内存分配统计视图 | 全方位认识 sys 系统库
    按 host 分组统计视图 | 全方位认识 sys 系统库
  • 原文地址:https://www.cnblogs.com/hellxz/p/docker-change-data-root.html
Copyright © 2011-2022 走看看