Docker 高级配置与架构解析
1. Docker 网络配置
在 Docker 中,可以进行多种网络配置,基本的网络配置相对简单。例如,创建一个macvlan网络:
$ docker network create -d macvlan \ --subnet=172.16.16.0/24 \ --gateway=172.16.16.1 \ -o parent=eth0 ourvlan还可以通过指定辅助地址来防止 Docker 分配特定的地址,如--aux-address="my-router=172.16.16.129"。
Docker 网络层还有很多可配置项,默认配置、主机网络和无用户空间代理模式是最常用或最常遇到的。其他可配置选项包括容器的 DNS 名称服务器、解析器选项和默认网关等。Docker 文档的网络部分提供了这些配置的概述。
对于高级网络配置,有以下几种工具可供选择:
-Weave:一个支持良好的覆盖网络工具,可跨多个 Docker 主机扩展容器,类似于覆盖驱动程序,但更具可配置性,且无需 Swarm。
-Project Calico:由 Docker 企业版直接支持。
-CoreOS 的 flannel:如果运行 Kubernetes(有自己的网络配置),可以考虑使用,它是一个基于 etcd 的容器网络