![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Docker
docker
bob62856
这个作者很懒,什么都没留下…
展开
-
Docker images 更新问题
如果是完全相同的两个image,则如执行docker build;docker load不会更新,仍使用之前的image如果是不同的两个image,但是image的repositiory:tag是相同的,则会把旧镜像置为none:none,若之后再用到该旧镜像,则直接改repositiory:tag名,并不做更新。...原创 2022-04-11 12:01:56 · 2964 阅读 · 0 评论 -
虚拟化方案应用场景及优劣
1、Xen应用场景:x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM以及x86/64 CPU商家和Intel嵌入式的支持的全虚拟化和半虚拟化解决方案。优势:Xen支持准虚拟化,需要修改客户机操作系统,而修改过的客户机操作系统能有更好的性能;此外Xen也支持全虚拟化,未经修改的操作系统也可以直接在Xen上运行(如Windows),能让虚拟机有效运行而不需要仿真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。劣势:如果你需要更新Xen的版本,你需要重原创 2020-07-27 21:49:29 · 3691 阅读 · 0 评论 -
容器和虚拟机的区别
1.容器技术简介对于容器,它首先是一个相对独立的运行环境,在这一点有点类似于虚拟机,但是不像虚拟机那样彻底。在容器内,应该最小化其对外界的影响,比如不能在容器内把宿主机上的资源全部消耗,这就是资源控制。2.容器与虚拟机的区别容器和虚拟机之间的主要区别在于虚拟化层的位置和操作系统资源的使用方式。容器与虚拟机拥有着类似的使命:对应用程序及其关联性进行隔离,从而构建起一套能够随处运行的自容纳单元。此外,容器与虚拟机还摆脱了对物理硬件的需求,允许我们更为高效地使用计算资源,从而提升能源效率与成本效益。转载 2020-09-29 00:36:15 · 8756 阅读 · 0 评论 -
容器网络规范CNM vs. CNI
CNM1 由Docker公司提出,在docker项目下的libnetwork项目中被采用。2 工作流程CNI1 CNI是由CoreOS提出的容器组网规范,被K8s、Mesos、Cloud Foudry、rkt等项目采用,目前也是CNCF的一个重要项目。2 工作流程CNM vs. CNI相同点都支持插件化的组网功能。二者中的许多概念是相似的。比如CNM的sandbox和CNI的container、CNM的network和CNI的network。类似CNM中的endpoint转载 2021-05-12 17:49:53 · 445 阅读 · 0 评论 -
使用nsenter进入docker namespace
我们知道docker容器使用namespace实现资源隔离。我们知道,有很多image内部是没有bash的,所以我们docker exec是无法进入容器的,此时如果还想看一下容器内的情况,其实只需要想办法加入到容器对应的namespace就可以了。我们使用nsenter工具即可实现,该工具启动后会将自己加入到指定的namespace中,然后exec执行我们指定的程序(通常就是bash)。找到容器的进程ID首先确定你要进入哪个容器,找到它的容器ID。然后docker inspect找到这个容器的1号转载 2021-04-06 20:44:52 · 622 阅读 · 0 评论 -
Docker cgroups作用(十)
实现 cgroups的主要目的是为不同用户层面的资源管理,提供一个统一化的接口。从单个任务的资源控制到操作系统层面的虚拟化, groups提供了以下四大功能。资源限制:groups可以对任务使用的资源总额进行限制。如设定应用运行时使用内存的上限,一旦超过这个配额就发出OOM( Out of Memory)提示。优先级分配:通过分配的CPU时间片数量及磁盘O带宽大小,实际上就相当于控制了任务运行的优先级。资源统计: groups可以统计系统的资源使用量,如CPU使用时长、内存用量等,这个功能非常适用于原创 2020-10-08 23:33:27 · 438 阅读 · 0 评论 -
Docker namespace技术(九)
1. UTS namespaceUTS(UNIX Time-sharing System)namespace提供了主机名和域名的隔离,这样每个Docker容器就可以拥有独立的主机名和域名了,在网络上可以被视为一个独立的节点,而非宿主机上的一个进程。Docker中,每个镜像基本都以只身所提供的服务名称来命名镜像的hostname,且不会对宿主机产生任何影响,其原理就是利用了UTS namespace。2. IPC namespace进程间通信(Inter-Process Communication,IP原创 2020-10-08 23:21:17 · 395 阅读 · 0 评论 -
Docker网络模型(八)
1. Bridge模式当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。这里有个比较坑的地方,这个 Docker bridge模式的名字和桥接很像,但是实际上关系不大,Docker bridge模式有点像虚拟机中的 NAT 模式。2. Host 模式如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network转载 2020-09-29 00:56:24 · 220 阅读 · 0 评论 -
Docker容器的启动过程(七)
docker run -i -t ubuntu /bin/bash输入上面这行命令,启动一个ubuntu容器时,到底发生了什么?大致过程可以用下图描述:首先系统要有一个docker daemon的后台进程在运行,当刚才这行命令敲下时,docker client(即:docker终端命令行)会调用docker daemon请求启动一个容器,docker daemon会向host os(即:linux)请求创建容器linux会创建一个空的容器(可以简单理解为:一个未安装操作系统的裸机原创 2020-09-16 17:44:46 · 2758 阅读 · 0 评论 -
Docker无法修改devicemapper(四)
按照我之前的博客,修改docker的devicemapper模式不成功,需要用动态编译https://blog.csdn.net/nullzeng/article/details/51003964https://blog.csdn.net/xuriwuyun/article/details/44835809?utm_source=blogkpcl5之前的静态编译,生成8个文件,保留其中...原创 2018-12-05 10:56:11 · 751 阅读 · 0 评论 -
Docker修改存储驱动(六)
docker infosystemctl stop dockerdd if=/dev/zero of=/virtual_disk.img bs=1M count=2048losetup /dev/loop1 /virtual_disk.imgsudo apt-get install lvm2pvcreate /dev/loop1vgcreate docker /dev/loop1l...原创 2018-10-25 17:58:05 · 2030 阅读 · 0 评论 -
Docker源码修改工作总结(三)
话不多说上干货:一、安装mysql数据库,并且建立相关表在本地主机上安装mysql数据库,并且建立一个名为docker的数据库,在数据库中建立两个数据表分别为container_auto和container_user,分别代表自动生成的秘钥和用户自己输入的秘钥,两个表的字段都为id和passphrase,如下mysql> create table container_auto(...原创 2018-08-23 16:47:41 · 1625 阅读 · 0 评论 -
Docker源码编译(二)
这是根据自己项目修改而记录的过程,对他人不具有参考性一、按照以下教程,搭建docker编译环境:Docker源码编译和开发环境搭建二、由于我对docker源码的修改导入了mysql数据库的包,如下教程:go连接mysql数据库如果出现如下问题: imports context: unrecognized import path "context"那么需要将go版本升级到go...原创 2018-08-19 11:19:29 · 3975 阅读 · 1 评论 -
Docker容器启动自动化脚本(五)
这星期师兄安排工作跑docker,需要开100个docker容器,然后在里面执行一个如下操作:在其下新建一个25M文件,计算其md5,copy到另外一个目录下,再次计算md5,比较两个md5是否相等来判断磁盘是否稳定,并且计算copy工作的时间,比较copy时间是否稳定。首先新建mydocker文件夹,并写了一个setupbob.py的文件,代码如下:import hashlibi...原创 2018-08-17 17:05:11 · 2089 阅读 · 1 评论 -
Docker学习(一)
1、docker基础docker的安装和卸载 docker源码地址 简单理解docker的容器和映像 docker命令详解 docker aufs存储 docker存储方式选型建议 docker五种存储驱动原理及应用场景和性能测试对比 深入了解Docker存储驱动 新一代 Linux 文件系统 btrfs 简介 DOCKER基础技术:DEVICEMAPPER2、阅读dock...原创 2018-05-30 15:29:17 · 506 阅读 · 0 评论