摘要:
参考https://www.cnblogs.com/CloudMan6/p/7500550.html Weave是一个私有的vxlan网络,默认与外部网络隔离。外部网络如何才能访问到weave中的容器呢? 1、将主机加入到weave网络 2、把主机当做访问weave网络的网关 root@host1:
阅读全文
posted @ 2019-04-09 09:38
三角形
阅读(347)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7491831.html 在host2上执行如下命令: weave launch host1_ip 必须在host2上指定host1的IP地址,这样host1和host2才能加入到同一个weave网络 然后在host2上运行
阅读全文
posted @ 2019-04-08 15:30
三角形
阅读(234)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7482035.html Weave网络使用之前需要执行 eval $(weave env) ,其作用是将后续的docker 命令发送给weave proxy处理,如果需要恢复之前的网络,可以执行 eval $(weave
阅读全文
posted @ 2019-04-04 17:21
三角形
阅读(446)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7471162.html weave是Weaveworks开发的容器网络解决方案。weave创建的虚拟网络可以将部署在多个host上的容器连接起来。 对于容器来说,weave就像一个巨大的以太网交换机,所有容器都被接入这个交
阅读全文
posted @ 2019-04-03 08:45
三角形
阅读(490)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7457653.html flannel 支持多种backend,前面学习的是 vxlan backend ,host-gw 是 flannel的另一个backend。 与vxlan不同,host-gw 不会封装数据包,而是
阅读全文
posted @ 2019-04-02 19:09
三角形
阅读(568)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7447716.html flannel网络连通性测试 不同host上的容器可以通过flannel网络进行通信,需要借助host上面的路由表(该路由表是host动态从etcd数据库中获得的) 但是flannel网络不支持do
阅读全文
posted @ 2019-04-01 09:14
三角形
阅读(406)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7441188.html 配置docker 连接flannel 编辑host1的docker配置文件/etc/systemd/system/docker.service.d/10-machine.conf,设置 --bip
阅读全文
posted @ 2019-04-01 08:43
三角形
阅读(217)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7424858.html build flannel flannel 没哟现成的执行文件可用,必须自己build,最可靠的方法是在 Docker 容器中build。不过用于做build的docker镜像托管在 gcr.io
阅读全文
posted @ 2019-03-30 01:31
三角形
阅读(895)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7412150.html flannel 是 CentOS开发的容器网络解决方案。flannel 为每个host分配一个subnet,容器从此subnet中分配IP,这些Ip可以在host间路由,容器间无需NAT和port
阅读全文
posted @ 2019-03-30 01:30
三角形
阅读(203)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7400580.html 在上一节中,两个host上四个容器的网络信息如下,然后进行网络连通性测试,可见通vlan的容器即使分布在不同的host上也是可以通信的,不同vlan的容器不管在不在同一个host上都不能通信 roo
阅读全文
posted @ 2019-03-30 01:29
三角形
阅读(471)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7383919.html macvlan不依赖linux bridge brctl show 可以确认没有创建新的bridge 查看容器中只有一块网卡 eth0@if3 ,对应host上的 3号接口 容器的interface
阅读全文
posted @ 2019-03-30 01:28
三角形
阅读(764)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7364332.html 创建macvlan网络,需要指定使用哪块物理网卡进行通信 -o parent=ens192 创建macvlan网络,需要指定网络环境已经存在的网关,因为macvlan并不提供网关功能 --gatew
阅读全文
posted @ 2019-03-22 17:26
三角形
阅读(747)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7352620.html 除了overlay,docker还开发了另一个支持跨主机容器网络的 driver :macvlan macvlan 本身是linux kernel模块,其功能是允许在同一物理网卡上配置多个mac地址
阅读全文
posted @ 2019-03-21 09:16
三角形
阅读(211)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7341487.html 不同的overlay网络是相互隔离的,我们创建第二个overlay网络 ov_net2 并运行容器bbox3. root@host1:~# docker network create -d over
阅读全文
posted @ 2019-03-20 15:08
三角形
阅读(338)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7305989.html 今天开始学习 overlay 网络跨主机通信的原理 root@host01:~# ufw allow 4789/udp root@host01:~# ufw status numbered Stat
阅读全文
posted @ 2019-03-19 09:41
三角形
阅读(218)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7294501.html 我们前面创建了overlay网络 ov_net1 ,今天我们运行一个busybox容器并连接到 ov_net1 root@host01:~# docker run -itd --name bbox1
阅读全文
posted @ 2019-03-18 09:09
三角形
阅读(172)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7280787.html 参考https://www.cnblogs.com/CloudMan6/p/7280787.html 在host01中创建overlay网络 ov_net1 在下面的例子中可以看到,我们在host0
阅读全文
posted @ 2019-03-15 09:02
三角形
阅读(142)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7270551.html 为了支持容器跨主机通信,Docker提供了overlay driver,使用户可以创建基于VxLAN的overlay网络。VxLVAN可将二层数据封装到UDP进行传输,VxLAN提供与VLAN相同的
阅读全文
posted @ 2019-03-14 09:58
三角形
阅读(123)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7259266.html 前面已经学习了Docker的几种网络方案:none、host、bridge和joined容器,他们解决了单个DockerHost内容器通信的问题。这里我们要学的是跨主机容器间通信的方案 跨主机网络方
阅读全文
posted @ 2019-03-13 09:07
三角形
阅读(170)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7248188.html 用docker-machine创建machine的过程很简洁,非常适合多主机环境。除此之外,docker machine也提供了一些子命令方便对machine进行管理。其中最常见的就是无需登录到ma
阅读全文
posted @ 2019-03-12 09:30
三角形
阅读(172)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7237420.html 对于Docker Machine来说,属于 Machine 就是运行docker daemon的主机。创建Machine 指的就是在host上安装和部署docker, 1、创建machine要求 能
阅读全文
posted @ 2019-03-11 13:45
三角形
阅读(184)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7223599.html 前面我们的实验中只有一个docker host ,所有的容器都是运行在这一个host上的。但在真实环境中会有很多都个host,容器在这些host中的启动、运行、停止、销毁,相关容器会通过网络进行互相
阅读全文
posted @ 2019-03-08 10:09
三角形
阅读(165)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7214828.html 如果Data Volume 中存放的是重要的应用数据,如何管理volume对应用至关重要。 前面学习了volume的创建、共享和使用,现在开始学习如何备份、恢复、迁移和销毁。 volume 备份 因
阅读全文
posted @ 2019-03-07 09:22
三角形
阅读(411)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7203285.html volume container 的数据归根到底还是在host上,我们能不能把数据完全放到volume container中呢,同时还能与其他容器共享 其实我们还可以将数据打包到镜像中,然后通过do
阅读全文
posted @ 2019-03-06 09:16
三角形
阅读(217)
推荐(0)
摘要:
1 root@docker-lab:~/redis# ll 2 total 16 3 drwxr-xr-x 2 root root 4096 Feb 26 16:00 ./ 4 drwx 11 root root 4096 Feb 26 15:59 ../ 5 -rw-r--r-- 1 root r
阅读全文
posted @ 2019-03-05 15:37
三角形
阅读(468)
推荐(1)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7188479.html volume container 是专门为其他容器提供 volume 的容器,他提供的卷也可以是bind mount ,也可以是docker managed volume 创建容器vc_data,因
阅读全文
posted @ 2019-03-05 09:26
三角形
阅读(203)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7163399.html 共享数据是volume的关键特性,本节我们将详细讨论通过volume如何在容器和host之间,容器和容器之间共享数据。 容器和host共享数据 我们有两种类型的data volume,他们均可实现在
阅读全文
posted @ 2019-03-04 09:38
三角形
阅读(416)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7152775.html docker managed volume 与bind mount 在使用上最大的区别是不需要指定mount 源,指明mount point就可以了 [root@5bvkl harbor]# doc
阅读全文
posted @ 2019-03-01 10:20
三角形
阅读(163)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7142150.html Date Volume 本质上是Dokcer host文件系统中的目录或者文件,能够直接被mount到容器的文件系统中。 Data Volume 有如下特点: 1、Data Volume 是目录或者
阅读全文
posted @ 2019-02-28 10:10
三角形
阅读(227)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7127843.html Docker为容器提供了两种存放数据的资源: 1、由storage driver 管理的镜像层和容器层 2、Data Volume storage driver 容器由最上面一个可写的容器层,以及若
阅读全文
posted @ 2019-02-27 13:45
三角形
阅读(301)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7118860.html 外部访问容器的方法:端口映射 动态映射 -p 80 将容器的 tcp 80 端口映射到dockerhost的一个动态端口上 静态映射 -p 80:80 将容器的 tcp 80 端口映射到docker
阅读全文
posted @ 2019-02-26 09:24
三角形
阅读(261)
推荐(0)
摘要:
参考 https://www.cnblogs.com/CloudMan6/p/7107407.html 容器默认使用 bridge 网络, 默认就可以访问docker host以外的网络 root@docker-lab:~# ip route # 查看docker host默认路由走 ens4 ,
阅读全文
posted @ 2019-02-25 09:53
三角形
阅读(214)
推荐(0)
摘要:
参考 https://www.cnblogs.com/CloudMan6/p/7096731.html 容器之间可以通过 IP 、Docker DNS Server、 joined容器的三种方式进行通信 IP通信 -- 两个容器要能通信,必须要有属于同一个网络的网卡 可以在创建的时候通过 --net
阅读全文
posted @ 2019-02-22 09:38
三角形
阅读(569)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7087765.html 1、同一个网桥下的容器可以通 2、不同网桥下的容器不可以通 原因:路由转发已开启,但是iptables限制了不能跨网桥通信 如果想通,可以添加一块其他网桥的网卡(docker network con
阅读全文
posted @ 2019-02-21 09:57
三角形
阅读(288)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7077198.html docker 网络除了 none、host、bridge这三个自动创建的网络,用户也可以根据业务需求创建 user-defined 网络 docker 提供了三种user-defined 网络驱动:
阅读全文
posted @ 2019-02-20 09:22
三角形
阅读(160)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7066851.html docker安装时会创建一个名为 docker0 的linuxbridge。如果不指定 --network ,创建的容器默认都会挂在docker0上 root@docker-lab:~# docke
阅读全文
posted @ 2019-02-19 14:10
三角形
阅读(257)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7053617.html 本节开始,会学习docker的几种原生网络,以及如何创建自定义网络。然后探究容器之间如何通信,以及容器与外界如何交互 docker网络从覆盖范围可以分为单个host上的容器网络和跨多个host的网络
阅读全文
posted @ 2019-02-19 00:23
三角形
阅读(255)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7045784.html 为了更好的理解容器的特性,本节我们将讨论容器的底层实现技术。 cgroup 和 namespace 是最重要的两种技术。cgroup 实现资源限额,namespace 实现资源隔离 cgroup 全
阅读全文
posted @ 2019-01-29 12:18
三角形
阅读(213)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7016050.html Block IO ,是另一种可以限制容器使用的资源,block IO 指的是磁盘的读写,docker 可以 设置权重、限制bps、限制iops --blkio-weight 600 --device
阅读全文
posted @ 2019-01-25 00:58
三角形
阅读(614)
推荐(0)
摘要:
参考https://www.cnblogs.com/CloudMan6/p/7003199.html 默认情况下,所有容器都可以平等的使用host cpu资源,没有限制 docker 可以通过 -c 或者 --cpu-shares 设置容器使用cpu的权重,如果不指定,默认为1024 与内存限额不同
阅读全文
posted @ 2019-01-23 23:31
三角形
阅读(396)
推荐(0)