归档
善良比聪明更重要
04
25
18
11
Docker 系列(三十五):Docker 的基本架构 Docker 系列(三十五):Docker 的基本架构
Docker 采用了 C/S(客户端/服务端)架构,包括客户端和服务端。Docker 守护进程(Daemon)作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 sock
2023-04-11
04
Docker 系列(三十四):端口映射的实现原理 Docker 系列(三十四):端口映射的实现原理
默认情况下,容器可以主动访问到外部网络的连接,但是外部网络无法访问到容器。 容器访问外部网络的实现容器所有到外部网络的连接,源地址都会被 NAT 成本地系统的 IP 地址,这是使用 iptables 的源地址伪装(MASQUERADE)操作
2023-04-04
03
28
21
Docker 系列(三十二):高级网络配置 Docker 系列(三十二):高级网络配置
本章将介绍 Docker 的一些高级网络配置和选项。 注意:本章属于 Docker 高级配置,如果你是初学者,可以暂时跳过本章,直接学习 Docker Compose 一节。 当 Docker 启动时,会自动在主机上创建一个 docke
2023-03-21
14
Docker 系列(三十一):配置 docker0 网桥 Docker 系列(三十一):配置 docker0 网桥
Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。 Docker 默认指定了 docker0 接口的 IP 地
2023-03-14
07
Docker 系列(三十):配置容器 DNS Docker 系列(三十):配置容器 DNS
如何自定义配置容器的主机名和 DNS 呢?秘诀就是 Docker 利用虚拟文件来挂载容器的 3 个相关配置文件。 在容器中使用 mount 命令可以看到挂载信息: $ mount /dev/disk/by-uuid/1fec...ebdf
2023-03-07
02
28
Docker 系列(二十九):容器互联 Docker 系列(二十九):容器互联
如果你之前有 Docker 使用经验,你可能已经习惯了使用 --link 参数来使容器互联。 随着 Docker 网络的完善,强烈建议大家将容器加入自定义的 Docker 网络来连接多个容器,而不是使用 --link 参数。 注意:--l
2023-02-28
21
Docker 系列(二十八):外部访问容器 Docker 系列(二十八):外部访问容器
容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。 当使用 -P 标记时,Docker 会随机映射一个端口到内部容器开放的网络端口。 使用 docker container ls 可以看到
2023-02-21
14
Docker 系列(二十七):容器网络的底层实现 Docker 系列(二十七):容器网络的底层实现
Docker 的网络实现其实就是利用了 Linux 上的网络命名空间和虚拟网络设备(特别是 veth pair)。建议先熟悉了解这两部分的基本概念再阅读本文。 首先,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)来收发数据包
2023-02-14
07
4 / 5