centos7下安装docker(8.1运行容器)】的更多相关文章

Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NAT和端口映射,扩展性和性能都很好 与其他容器网络相比,calico还有一个优势:network policy.用户可以动态定义ACL规则,控制进出容器的数据包,实现业务需求 calico依赖etcd在不同主机间共享和交换信息,存储calico网络状态.calico网络中每个主机都要运行calico组…
最近我们学习了docker 存储,首先docker存储有两种:storage driver和data volume. storage driver是由镜像层和容器层组成的,可以通过docker inspect <容器ID>来查看容器默认使用的driver data volume又分为两种bind mount 和docker managed volume bind mount:通过容器运行时指定固定的bind mount,例如:docker run -d -v /test:/var/lib/te…
单个host上的容器的网络:通过本章的学习,我们知道docker默认有三种网络,可以通过docker network ls查看: none:封闭的网络,通过--network=none来指定: host:将host主机上面的网络完全映射到容器中: bridge:桥接网络,默认情况下容器使用的是bridge,并将容器网络桥接到docker0上:可以通过brctl show查看桥接情况 我们可以创建user-defined网络,user-defined也分为三种:bridge,overlay,mac…
我们接着盗图,如下: 在这张图上,可以看到,如果两个容器使用同一个bridge,那么两个容器之间是互相能通的 可以看到两个容器在同一个bridge下是可以互相ping通的 当两个容器在不同的bridge的时候,容器之间是不能ping通的,(但是不同bridge的容器为什么能ping通不同bridge的网关呢?)和拓扑图是一样的 如何让两个不同的网段之间能够ping通呢? 1.增加路由 如果host上对每个网络都有一个路由,同时操作系统上打开了ip forwarding,host就成了一个路由,挂…
yu我们之前已经学习了如何运行容器docker run,也学习了如何进入容器docker attach和docker exec,下面我们来学习容器的其他操作: stop/start/restart 1.通过docker stop可以停止运行的容器 容器在docker host上面实际是一个进程,docker stop命令其实是向这个进程发送了一个SIGTERM信号.如果想快速停止容器,可以使用docker kill命令,作用是向容器进程发送SIGKILL信号(通过自己做试验,docker sto…
默认情况下,所有容器可以平等的使用host上的CPU资源并没有限制 1.docker可以通过-c或者--cpu-shares设置容器使用的权重.如果不指定,默认值为1024. 与内存的限额不同,通过-c设置的cpu share并不是CPU资源的绝对数量,而是一个相对的权重值.某个容器最终能分到的CPU资源取决于它的cpu share占所有容器cpu share总和的比例. 直白点说:通过cpu share可以设置容器使用CPU的优先级. 例如:我们运行两个容器,一个限制CPU的权重为1024,一…
flannel是由CoreOS研究的一种覆盖网络(overlay network)网络工具,目的是帮助每一个host主机有一个完整的子网: 功能是:让集群中不同节点的主机创建的容器都有一个唯一的虚拟IP 工作原理:将TCP数据包装在另一种网络包里进行路由转发和通信,目前已经支持UDP,Vxlan,AWS,APC和GRE等路由转发的模式.默认节点间通过UDP进行转发 1.安装配置etcd etcd功能:与consul的功能差不多,维护主机间的路由表,flannel的配置信息全部存放在etcd里面,…
回想一下我们学了两种存储方式:storage driver和data volume,其中又分为bind mount和docker managed volume,我们知道storage driver就是镜像层和容器层的组合,在我们学习data volume时我们知道data volume其实就是host上面的文件或者是目录,给mount到容器中的,我们可以在host上直接更新容器的内容,这种方式实现了容器与host之间的共享存储 共享存储分为:容器与host之间 容器与容器之间 1.容器与host…
1.容器如何访问外部 前面我们做了很多试验:只要host能连外网,使用默认bridge(docker0)创建得容器就能访问外网,那么容器是怎样访问外网的呢? 注:这里的外网不仅是internet,包括internet 容器是怎样访问外网的呢? 这里的关键就是NAT.我们查看一下docker host上的iptables的规则 可以看到iptables对docker0这个bridge做了策略:当网桥docker0收到外出的包,把他交给MASQUERADE处理.而MASQUERADE的处理方式是将包…
Block IO:指的是磁盘的读写,docker 可以通过设置权重,限制bps和iops的方式控制容器读写磁盘的带宽 注:目前block IO限额只对direct IO(不使用文件缓存)有效. 1.Block IO权重:--blkio-weight,这个--blkio-weight的权重值在  10~1000之间 和容器cpu的使用机制是一致的,所有容器都可以平等的读写磁盘,可以通过--blkio-weight参数来改变容器的优先级 --blkio-weight和-c类似,设置的都是资源使用的权…