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

    再查看/容量

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

    当你的才华还撑不起你的野心的时候,你就应该静下心来学习; 当你的能力还驾驭不了你的目标时,就应该沉下心来历练。
  • 相关阅读:
    golang sync.WaitGroup
    golang 部分理解:关于channel 和 goroutine 例子
    golang filepath.Walk遍历指定目录下的所有文件
    golang filepath.Glob
    golang 函数传值
    golang panic and recover
    golang pipe
    golang 获取指定目录下的子文件列表
    eclipse:failed to create the java virtual machine
    如何在股市中捕捉涨停
  • 原文地址:https://www.cnblogs.com/ellisonzhang/p/15152402.html
Copyright © 2011-2022 走看看