CentOS 7.x docker使用overlay2存储方式

编辑/etc/docker/daemon.json添加以下内容:

{
 "storage-driver": "overlay2",
 "storage-opts": [
  "overlay2.override_kernel_check=true"
 ]
}

安装依赖:

yum install yum-plugin-ovl -y

否则会报以下错误:

May 05 18:20:45 node1 dockerd[49605]: Error starting daemon: error initializing graphdriver: /var/lib/docker contains several valid graphdrivers: overlay2, overlay; Please cleanup or explicitly choose storage driver (-s )

最后重启docker即可

systemctl restart docker

补充知识:centos7 编译加载toa模块

1.安装kernel-devel包,需要与当前kernel版本一致

yum install kernel-devel

yum update kernel

2.由于update内核后,需要重启系统使其生效

3.获取toa源码

cd /usr/local/src/
git clone https://github.com/huaweicloud/elb-toa.git
cd elb-toa/src
make

4.正常的话应该会生成toa.ko,加载测试下

insmod toa.ko

lsmod |grep toa

部署个nginx测试下

添加开机自加载

cd /lib/modules/uname -r/kernel/net/

cp /usr/local/src/elb-toa/src/toa.ko .

把下面这句加入rc.local

insmod /lib/modules/3.10.0-957.21.3.el7.x86_64/kernel/net/toa.ko

确保/etc/rc.d/rc.local 有执行权限,否则rc.local不生效

以上这篇CentOS 7.x docker使用overlay2存储方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 对docker中的overlay式网络详解

    翻译自docker官方文档,原文:https://docs.docker.com/network/overlay/ overlay(覆盖)式网络会在多个docker守护进程所在的主机之间创建一个分布式的网络.这个网络会覆盖宿主机特有的网络,并允许容器连接它(包括集群服务中的容器)来安全通信.显然,docker会处理docker守护进程源容器和目标容器之间的数据报的路由. 当你初始化一个集群(swarm)或把一个docker宿主机加入一个已经存在的集群时,宿主机上会新建两个网络: 一个叫ingre

  • 详解docker pull 下来的镜像都存到了哪里

    docker pull 下来的命令都默认存在/var/lib/docker/文件夹下. 查看/var/lib/docker/image/overlay2/repositories.json文件: 正好和docker images的内容一致. 1.进入docker目录,文件结构如下: 2. 进入containers 目录,这个目录中保存是已拉取的容器ID,即一个序列号,对应一个容器. 随便进入选择一个序列号,进入后发现容器的具体结构如下: 3. 进入image 目录 这个目录中保存的是已拉取的镜像

  • docker文件存放路径, 获取容器启动命令操作

    容器早已创建好,如何得知它的启动参数(数据挂载到哪) #假设通过如下命令启动了一个容器 docker run -d --name mysql\ -p 3306:3306\ -e MYSQL_ROOT_PASSWORD=123456\ --restart=always\ mysql:5.5 --character-set-server=utf8 #如何通过容器名得知启动参数 [root@jenkins ~]# docker inspect mysql_cdh [ { "Id": &quo

  • docker清理大杀器/docker的overlay文件占用磁盘太大的解决

    [看网上都是什么迁移文件的就感觉不靠谱,治标不治本啊(这不应该是一个新生代coder的样子)] du -sh* 一路查下去,发现overlay这个文件夹已经爆了. docker system prune -a 才清理了7g的空间,那个文件夹还是30g 磁盘占用路从100%下降到80%左右,这哪里行啊,再跑两天还是满! 最后大杀器来了 安装portainer docker安装教程一堆 我这里使用dokcer-compose部署的所以下面是配置 portainer: image: portainer

  • CentOS 7.x docker使用overlay2存储方式

    编辑/etc/docker/daemon.json添加以下内容: { "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } 安装依赖: yum install yum-plugin-ovl -y 否则会报以下错误: May 05 18:20:45 node1 dockerd[49605]: Error

  • 修改Docker镜像默认存储位置的方法(解决方法)

    由于系统初始分区的原因,导致操作系统中对应 / 分区不会太大,通过 /var 目录不会单独分区.如果上面运行 Docker 服务,经过长时间的使用,会使原本就比较大的分区越来越不够用.如何更好地的处理这个问题呢? 1. 使用软链接 我们知道在操作系统当中,默认情况下 Docker 容器的存放位置在 /var/lib/docker 目录下面,可以通过下面命令查看具体位置. # 默认存放位置 $ sudo docker info | grep "Docker Root Dir" 解决默认存

  • centos搭建部署docker环境的详细步骤

    目录 1.Docker的存在解决的问题 1.1 统一标准 1.2 资源隔离 2.Docker的建构 3.安装Docker 1.卸载以前安装的docker 2.配置yun源 3.安装docker 4.启动docker并设置为开机自启 5.查看一下当前的docker运行状态 6.随便使用一个命令验证 7.配置镜像加速 总结 1.Docker的存在解决的问题 1.1 统一标准 应用构建:我们写的应用可能使用了不同的编程语言,例如:Java.C++.JavaScript等,这些应用最终打成软件包,有的是

  • 详解Windows 利用 WSL2 安装 Docker 的2种方式

    目录 一.安装 WSL 先决条件 二.安装 Docker 前的准备 三.Windows 安装 Docker 一.安装 WSL 先决条件 必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11.(来自官网的说明) 二.安装 Docker 前的准备 控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的Windows子系统 重启电脑 打开应用商城搜索 WSL ,可根据自己需求选择安装 Linux 发行

  • docker修改默认存储位置图文教程

    本方法是通过system下创建配置文件,直接在配置文件中配置新的docker存储路径进行修改. 第一步,将默认docker存储位置数据复制到新的路径下 docker默认存储路径为:/var/lib/docker 新的存储路径为:/data1/docker,该路径下的文件大小如下: 第二步,在/etc/systemd/system下创建docker.service.d目录 第三步,将/lib/systemd/system/docker.service文件复制到docker.service.d目录下

  • session的存储方式和配置方法介绍

    1.Session的存储方式. session其实分为客户端Session和服务器端Session. 当用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 SessionID作为标识.SessionID是一个由24个字符组成的随机字符串.用户每次提交页面,浏览器都会把这个SessionID包含在 HTTP头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪一个客户端.这个SessionID就是保存在客户端的,属于客户端Session. 其实客户端Session默认是以co

  • JavaScript中localStorage对象存储方式实例分析

    本文实例讲述了JavaScript中localStorage对象存储方式.分享给大家供大家参考,具体如下: [Local storage limitations]文章中提及JavaScript里的local storge的限制,例子中在localStorage里存储了一个bool型的数据,但是却没有像我们期待的一样进行存储. 当我们存储布尔型,数值型,字符串型时,localStorage对象会将我们存储的数据默认转为字符串字面量. localStorage[0] = false;// "fals

  • C/C++的浮点数在内存中的存储方式分析及实例

    C/C++的浮点数在内存中的存储方式分析 任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100.则在Intel CPU架构的系统中,存放方式为  10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式.但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所制定的标准浮点格式,即二进制科学表示法. 在二进制科学表示法中,S=M*2^N 主要由三部分构成

  • IOS开发之路--C语言存储方式和作用域

    概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式.作用范围和销毁时间才可能正确的使用这门语言.今天将着重介绍C语言中变量作用范围.存储方式.生命周期.作用域和可访问性. 变量作用范围 存储方式 可访问性 变量作用范围 在C语言中变量从作用范围包括全局变量和局部变量.全局变量在定义之后所有的函数中均可以使用,只要前面的代码修改了,那么后面的代码中再使用就是修改后的值:局部变量的作用范围一般在一个函数内部(通常在一对大括号{}内),外面的程序无法访问它,

  • iOS开发系列--详细讲解C语言之存储方式和作用域

    概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式.作用范围和销毁时间才可能正确的使用这门语言.今天将着重介绍C语言中变量作用范围.存储方式.生命周期.作用域和可访问性. 变量作用范围 存储方式 可访问性 变量作用范围 在C语言中变量从作用范围包括全局变量和局部变量.全局变量在定义之后所有的函数中均可以使用,只要前面的代码修改了,那么后面的代码中再使用就是修改后的值:局部变量的作用范围一般在一个函数内部(通常在一对大括号{}内),外面的程序无法访问它,

随机推荐