Docker基础网络协议涉及到以下几个协议:
Docker 提供了一系列的网络命令,可以用来管理 Docker 网络。常用的网络命令包括:
Docker容器之间可以通过网络进行通信,而Docker默认提供了三种网络模式:bridge、host和none。
Bridge模式是Docker默认的网络模式,Docker在创建一个容器时,会自动创建一个虚拟的桥接接口docker0,容器会连接到这个虚拟接口。
Bridge模式会为每个容器分配一个独立的IP地址,这些容器可以通过IP地址或容器名相互访问。
除非使用 docker run --net= 指令来进行修改,否则 Docker 会自动把所有容器都连接到这个网络上。
Host模式使用主机的网络栈,容器和主机共享同一个网络接口和IP地址。这种模式下容器无法使用与主机相同的端口号,因为主机上的端口已经被占用了。
None模式下容器没有网络接口,这意味着容器无法与其他容器或主机通信。这种模式通常用于特定场景下的容器,如用于调试和排除故障的容器。
除了这三种模式,Docker还支持用户自定义网络模式,用户可以根据自己的需求创建自己的网络模式。在Docker中,网络是一个独立的组件,
可以通过Docker网络命令创建、删除、连接和断开容器之间的网络。
Docker Compose 是 Docker 官方提供的一个工具,用于定义和运行多个 Docker 容器的应用。Docker Compose 支持多种网络配置,包括:
容器间通信是指多个运行在同一个 Docker 主机上的容器之间进行数据传输和通信。Docker 默认使用桥接网络(bridge network)模式,
容器间可以使用容器名称或者 IP 地址进行通信。也可以使用自定义网络(custom network)模式,通过自定义网络名称进行容器间通信。
容器与宿主机通信是指容器可以与其所在的 Docker 主机进行数据传输和通信。Docker 默认会创建一个名为 docker0 的网桥,作为主机和容器之间的通信桥梁。
容器可以通过宿主机的 IP 地址进行访问和通信。
容器与外部网络通信是指容器可以与除了其所在的 Docker 主机之外的网络进行数据传输和通信。Docker 提供了多种网络模式,
如桥接网络模式(bridge network)、主机网络模式(host network)、Overlay 网络模式等,以实现容器与外部网络的通信。
同时,还可以使用端口映射(port mapping)将容器内的端口映射到宿主机上的端口,从而实现容器与外部网络的交互。