Home avatar

分享Python/Java/Go/Rust编程技术,AI创作爱好者

MkDocs搭建项目文档网站

MkDocs是一个快速、简单、华丽的静态网站生成器,适用于构建项目文档。文档源文件以Markdown编写,并使用一个YAML文件来进行配置。 MkDocs生成完全静态的HTML网站,你可以将其部署到GitHub pages、Amzzon S3或你自己选择的其它任意地方。

Docker每天学一点11 - 容器网络macvlan

除了 overlay,docker 还开发了另一个支持跨主机容器网络的 driver:macvlan。

macvlan 本身是 linxu kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址, 即多个 interface,每个 interface 可以配置自己的 IP。macvlan 本质上是一种网卡虚拟化技术,Docker 用 macvlan 实现容器网络就不奇怪了。

Docker每天学一点10 - 容器网络overlay

前面已经学习了 Docker 的几种网络方案:none、host、bridge 和 joined 容器, 它们解决了单个 Docker Host 内容器通信的问题。本章的重点则是讨论跨主机容器间通信的方案。

跨主机网络方案包括:

  • docker 原生的 overlay 和 macvlan。
  • 第三方方案:常用的包括 flannel、weave 和 calico。

docker 网络是一个非常活跃的技术领域,不断有新的方案开发出来,那么要问个非常重要的问题了: 如此众多的方案是如何与 docker 集成在一起的?

Docker每天学一点09 - 多主机管理

前面的实验都是在一个host中,而真实环境中肯定会有多个主机。 容器在这些 host 中启动、运行、停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host。

对于这样一个 multi-host 环境,我们将如何高效地进行管理呢?我们面临的第一个问题是:为所有的 host 安装和配置 docker。 如果一个个去安装肯定很麻烦又容易出错,手工方式效率低且不容易保证一致性,针对这个问题,docker 给出的解决方案是 Docker Machine。

Docker每天学一点08 - 存储卷

Docker 为容器提供了两种存放数据的资源:

  1. 由 storage driver 管理的镜像层和容器层。
  2. Data Volume

接下来分别介绍下这两种存储方式。

storage driver

在镜像章节我们学习到 Docker 镜像的分层结构:

Docker每天学一点07 - 单主机网络

这一篇学习容器之间、容器和外界之间怎样相互通信。Docker 网络从覆盖范围可分为单主机的容器网络和跨主机的容器网络, 本章重点讨论前一种。对于更为复杂的多主机容器网络,后面的文章会专门讲。

三个网络

Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: