随笔分类 -  Docker

摘要:准备 macvlan 环境 macvlan 本身是 linux kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 interface,每个 interface 可以配置自己的 IP。 macvlan 本质上是一种网卡虚拟化技术,Docker 用 macvlan 实现容 阅读全文
posted @ 2019-03-21 09:53 gsophy 阅读(134) 评论(0) 推荐(0)
摘要:overlay 是如何隔离的? 不同的 overlay 网络是相互隔离的。 创建第二个 overlay 网络 ov_net2 并运行容器 bbox3。 docker network create -d overlay ov_net2 docker run -itd --name bbox3 --ne 阅读全文
posted @ 2019-03-20 09:50 gsophy 阅读(216) 评论(0) 推荐(0)
摘要:overlay 如何实现跨主机通信? 在 host2 中运行容器 bbox2: docker run -itd --name bbox2 --network ov_net1 busybox bbox2 IP 为 10.0.0.4,可以直接 ping bbox1: 可见 overlay 网络中的容器可 阅读全文
posted @ 2019-03-19 10:57 gsophy 阅读(179) 评论(0) 推荐(0)
摘要:在 overlay 中运行容器 运行一个 busybox 容器并连接到 ov_net1: docker run -itd --name bbox1 --network ov_net1 busybox 查看容器的网络配置: bbox1 有两个网络接口 eth0 和 eth1。 eth0 IP 为 10 阅读全文
posted @ 2019-03-18 19:12 gsophy 阅读(244) 评论(0) 推荐(0)
摘要:在 host1 中创建 overlay 网络 ov_net1: docker network create -d overlay ov_net1 -d overlay 指定 driver 为 overaly docker network ls 查看当前网络: 注意到 ov_net1 的 SCOPE 阅读全文
posted @ 2019-03-15 20:58 gsophy 阅读(176) 评论(0) 推荐(0)
摘要:overlay环境准备 在docker-machine (10.12.31.21)的基础上 docker主机 host1 (10.12.31.22) host2 (10.12.31.23) 在docker-machine (10.12.31.21)上部署安装模块Consul docker run - 阅读全文
posted @ 2019-03-14 10:19 gsophy 阅读(184) 评论(0) 推荐(0)
摘要:跨主机网络概述 Docker 的几种网络方案:none、host、bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题 跨主机网络方案包括: docker 原生:overlay 和 macvlan 第三方方案: flannel、weave 和 calico 阅读全文
posted @ 2019-03-13 09:50 gsophy 阅读(158) 评论(0) 推荐(0)
摘要:管理 Machine Docker Machine 则很简单 docker-machine env host1 显示访问 host1 需要的所有环境变量: 根据提示,执行 eval $(docker-machine env host1): 命令行提示符已经变了,是因为在$HOME/.bashrc 中 阅读全文
posted @ 2019-03-12 10:01 gsophy 阅读(214) 评论(0) 推荐(0)
摘要:创建 Machine Machine 就是运行 docker daemon 的主机。 “创建 Machine” 指的就是在 host 上安装和部署 docker。 创建第一个 machine: host1 创建 machine 要求能够无密码登录远程主机 (1)配置无密码登录、确保端口2376是可以 阅读全文
posted @ 2019-03-11 15:48 gsophy 阅读(161) 评论(0) 推荐(0)
摘要:安装 Docker Machine 先安装docker 官方安装docker-machine的文档地址:https://docs.docker.com/machine/install-machine/ 安装方法很简单,执行如下命令: curl -L https://github.com/docker 阅读全文
posted @ 2019-03-08 09:31 gsophy 阅读(236) 评论(0) 推荐(0)
摘要:volume 生命周期管理 1)备份 因为 volume 实际上是 host 文件系统中的目录和文件,所以 volume 的备份实际上是对文件系统的备份 例如:本地的Registry,所有镜像都存在/myregistry 目录中,定期备份这个目录即可。 2)恢复 Volume 的恢复也简单,就是将备 阅读全文
posted @ 2019-03-06 09:28 gsophy 阅读(228) 评论(0) 推荐(0)
摘要:data-packed volume container 将数据打包到镜像中,然后通过 docker managed volume 共享 1、先用Dockerfile 构建镜像 ADD 将静态文件添加到容器目录 /usr/local/apache2/htdocs VOLUME 的作用与 -v 等效, 阅读全文
posted @ 2019-03-06 09:24 gsophy 阅读(189) 评论(0) 推荐(0)
摘要:volume container volume container 是专门为其他容器提供 volume 的容器。它提供的卷可以是 bind mount,也可以是 docker managed volume。 创建 volume container: 容器名为 vc_data(vc 是 volume 阅读全文
posted @ 2019-03-04 09:51 gsophy 阅读(391) 评论(0) 推荐(0)
摘要:1、容器与 host 共享数据 两种类型的 data volume,都可以实现在容器与 host 之间共享数据 1、bind mount : 直接将要共享的目录 mount 到容器 2、docker managed volume : 由于 volume 位于 host 中的目录,是在容器启动时才生成 阅读全文
posted @ 2019-03-04 09:47 gsophy 阅读(257) 评论(0) 推荐(0)
摘要:docker managed volume 与 bind mount 在最大区别是不需要指定 mount 源,指明 mount point 就行了 通过 -v 告诉 docker 需要一个 data volume docker inspect 的输出中 Mounts 的部分,显示容器当前使用的所有 阅读全文
posted @ 2019-03-01 13:32 gsophy 阅读(258) 评论(0) 推荐(0)
摘要:Data Volume Data Volume 本质上是 Docker Host 文件系统中的目录或文件,能够直接被 mount 到容器的文件系统中。 Data Volume 有以下特点: 1、Data Volume 是目录或文件,而不是没有格式化的磁盘(块设备) 2、容器可以读写 volume 中 阅读全文
posted @ 2019-03-01 13:25 gsophy 阅读(255) 评论(0) 推荐(0)
摘要:存储资源 Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层 Data Volume 1、storage driver 容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。 这样的分层结构最大的特性是 Copy-on 阅读全文
posted @ 2019-02-26 11:26 gsophy 阅读(292) 评论(0) 推荐(0)
摘要:外部世界访问容器 docker 可将容器对外提供服务的端口映射到 host 的某个端口,外网通过该端口访问容器。 容器启动时通过-p参数映射端口:容器启动后,可通过 docker ps 或者 docker port 查看到 host 映射的端口。 docker run -d -p 80 httpd 阅读全文
posted @ 2019-02-25 19:04 gsophy 阅读(137) 评论(0) 推荐(0)
摘要:容器访问外部世界 当前的环境下,docker host 是可以访问外网的。 测试一下,容器默认就能访问外网。 注意:外网指的是容器网络以外的网络环境,并非特指 internet。 docker host 上的 iptables 规则,在 NAT 表中: -A POSTROUTING -s 172.1 阅读全文
posted @ 2019-02-25 19:02 gsophy 阅读(198) 评论(0) 推荐(0)
摘要:容器间通信的三种方式 (1)IP 通信 两个容器要能通信,必须要有属于同一个网络的网卡。 满足这个条件后,容器就可以通过 IP 交互了。具体做法是在容器创建时通过 --network 指定相应的网络,或者通过 docker network connect 将现有容器加入到指定网络。 (2)Docke 阅读全文
posted @ 2019-02-25 18:58 gsophy 阅读(181) 评论(0) 推荐(0)