zoukankan      html  css  js  c++  java
  • docker daemon configuration

    于 Docker的分层镜像,除了 aufs,docker还支持btrfs, devicemapper和vfs,你可以使用 -s 或 –storage-driver= 选项来指定相关的镜像存储。在Ubuntu 14.04下,Docker 默认 Ubuntu的 AUFS。因为 AUFS 还没有进入Linux 内核主干的原因,RedHat 上使用的是 devicemapper。

       不同框架的配置文件

    由于 Linux 不同发行版所采用的默认管理框架的不同,Docker 在不同环境下所使用的默认配置文件也有所不同。这给初学者带来了极大的困惑和不便。好消息是,Docker 官方也意识到了这个问题,所以从 V1.12 开始,引入了并行通用配置文件 ```/etc/docker/daemon.json``` 。从此以后,用户可以在所有平台统一通过调整该配置文件来调整 Docker Engine。
    不同 Linux 发行版本默认使用的管理框架可能存在不同。而不同管理框架下配置文件的架构差异,最终导致了不同环境下默认 Docker 配置文件目录和文件名的不同。Linux 常见管理框架下的默认配置文件说明如下:

    | 管理框架类型 | 默认使用该框架的操作系统 | Docker 默认配置文件 | 相关操作指令 |
    | - | - | - | - |
    | Sysvinit | CentOS 6.x, Ubuntu 12.04 等| /etc/default/docker | CentOS: service docker restart
    Ubuntu: /etc/init.d/docker restart |
    | Upstart | Ubuntu 14.x,15.x 等| /etc/default/docker| restart docker |
    | Systemd | CentOS 7+,Ubunt 16+,Debian,RHEl 7, Fedora, Archlinux 等| Ubuntu/CentOS/: /lib/systemd/system/docker.service
    RHEL/CentOS: /usr/lib/systemd/system/docker.service | systemctl restart docker.service |

    之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右。现在随着程序运行,有大量的数据生成。硬盘空间就悲剧了。。。。

     

    现在的想法是,宿主机上还有一块大硬盘空间,需要docker把数据放到大硬盘上。
    解决方案
    方法一 修改 docker daemon 的启动参数 -g, --graph=""

    Path to use as the root of the Docker runtime. Default is /var/lib/docker.

    如 docker -d --graph=/opt/docker

     注: 这种方式只会临时修改,如果重启 docker daemon,就又会回到默认值。。。

    我们可以通过修改 docker daemon的配置文件的方式来保存我们修改,方法如下:

    默认情况下,docker daemon 会有一个默认的configuration 文件,此外,我们可以新建一个名为“daemon.json”文件的文件,我们在这个文件中的定义,会覆盖默认配置文件的内容文件。

    #cd etc/docker
    #vim daemon.json

    在这个文件里面加入我们的内容,即修改docker daemon 的 Rootpath

    {
        "graph": "/data/docker"
    }

    重新 load 配置

    # systemctl daemon-reload

    重新启动 docker daemon

    # systemctl restart docker.service

    方法二 挂载新目录到docker根目录

    mount -o bind /var/lib/docker /opt/docker

     

    永久修改在需要在 /etc/fatab 添加:

    /opt/docker /var/lib/docker none bind 0 0

    systemctl stop docker
    $ rm -rf /var/lib/docker
    After this we will create a basic LVM setup which will use the whole storage volume.

    $ pvcreate /dev/vdb
    $ vgcreate docker_vol /dev/vdb
    Setup Docker storage
    $ vi /etc/sysconfig/docker-storage-setup

    VG="docker_vol"
    Now you can run:

    $ docker-storage-setup
    Verify

    To verify these changes, we will start Docker and run a basic image.

    $ systemctl start docker
    $ docker info

    当从私有镜像库拉取镜像时出现如下问题:
    docker pull myregistry:xx
    Error response from daemon: Get https://xxx:5000/v1/_ping: http: server gave HTTP response to HTTPS client
    解决方法:
    修改该或者新建/etc/docker/daemon.json
    添加下面这条语句:
    { "insecure-registries":["myregistry.example.com:5000"] }
    然后重启docker服务:
    sudo service docker restart



  • 相关阅读:
    npm start报错
    npm install 错误
    vue父子组件间传值
    vue-devtools安装过程的坑
    用js进行排序
    筛选表格数据
    基于ElementUI封装可复用的表格组件
    小程序头部滑动切换
    DisneyDiffuse解析
    基于URP的ScreenSpaceDecal的实现(其实和URP没啥关系)
  • 原文地址:https://www.cnblogs.com/SZLLQ2000/p/8533769.html
Copyright © 2011-2022 走看看