Docker使用指南:从基础到高级应用
1. Docker API与命令行工具
Docker官网提供了丰富的API文档。随着生态系统的成熟,针对各种流行语言都出现了强大的Docker API库实现。Docker维护了Python和Go的SDK,但第三方维护的库往往更出色。例如,第三方的Go和Ruby库功能更丰富,而且随着Docker新版本的发布能快速更新。
大多数可以通过Docker命令行工具完成的操作,通过API也能相对轻松地实现。不过,有两个明显的例外,即需要流式传输或终端访问的端点,比如运行远程shell或在交互模式下执行容器。在这些情况下,使用可靠的客户端库或命令行工具通常会更方便。
2. 容器网络
虽然Docker容器主要由运行在主机系统上的进程组成,但在网络层,它们的行为通常与其他进程有很大不同。Docker最初只支持单一的网络模型,现在则提供了一系列强大的配置选项,能满足大多数应用程序的需求。大多数人会使用默认的配置,即桥接模式。
桥接模式可以这样理解:每个Docker容器就像一个私有网络中的主机,Docker服务器充当虚拟网桥,容器则是其后面的客户端。网桥是一种网络设备,可将一侧的流量复制到另一侧。因此,你可以把它看作一个小型虚拟网络,每个容器就像连接到该网络的主机。
实际的实现方式是,每个容器都有自己的虚拟以太网接口,连接到Docker网桥,并被分配一个IP地址。Docker允许你将主机上的单个或多个端口绑定并暴露给容器,这样外部世界就能通过这些端口访问容器。流量在到达容器之前,会经过一个代理,该代理也是Docker守护进程的一部分。
Docker会从未使用的RFC 1918私有
超级会员免费看
订阅专栏 解锁全文
1094

被折叠的 条评论
为什么被折叠?



