大数跨境

Docker:第二天 - Docker 网络

Docker:第二天 - Docker 网络 索引目录
2025-01-11
0

Docker 网络:连接容器和主机

Docker 提供多种网络功能,以确保容器之间以及与主机之间能够进行通信。容器和服务无需了解其部署位置,因此具有可移植性和可扩展性。

Docker 网络

  • 桥接网络:默认情况下,Docker 使用桥接网络进行容器通信。此虚拟专用网络隔离同一集群内的容器,但阻止不同集群中的容器之间的通信,除非应用其他配置。

  • 覆盖网络:这允许跨不同 Docker 主机的容器之间进行通信。VXLAN 或 IPSec 等技术通常用于创建跨多个主机的虚拟网络。

  • 容器网络接口 (CNI):CNI 是一种规范,它定义了容器运行时如何与网络插件交互。这允许您将不同的容器运行时与各种网络解决方案相结合,以获得更大的灵活性。

将容器连接到网络

启动容器时,Docker 会自动将其连接到默认桥接网络。不过,您可以为特定目的创建自定义网络。

  • 示例:对于 MySQL 和 PHP 应用程序,可以创建一个名为 的网络sql_php_nwt,对于 MongoDB 和 PHP,可以创建一个名为 的网络mongo_nwt

这确保了每个网络内的容器能够高效、安全地相互通信。

用于网络和通信的 Docker 命令

以下是用于管理和检查 Docker 网络和容器的一些基本 Docker 命令:

  1. 启动具有端口映射的容器

docker container run -p <host_port>:<docker_port> -d <image>

此命令允许您将 Docker 容器的端口暴露给主机,从而使容器的服务可供外部访问。

  1. 检查集装箱港口

docker port <container_id>

使用此命令查找与容器相关的端口和协议。

  1. 查找容器的 IP 地址

docker inspect <container_id>

此命令检索有关容器的详细信息,包括其 IP 地址。

  1. 显示所有 Docker 网络

docker network ls

此命令列出 Docker 主机上所有可用的网络。

  1. 按类型过滤网络

docker network -f driver=bridge

此命令过滤并列出具有bridge驱动程序的网络。

  1. 列出网络 ID 和驱动程序

docker network ls --format "{{.ID}}: {{.Driver}}"

使用此命令显示所有可用网络的网络 ID 和驱动程序类型。

  1. 检查特定的 Docker 网络

docker network inspect <network_name>

此命令提供有关特定网络的详细信息,包括连接到该网络的容器。

Docker 容器中的 DNS

Docker 容器使用 DNS 相互通信,而不是依赖 IP 地址。DNS 使容器可以使用易于记忆的主机名而不是复杂的 IP 地址,从而简化了容器通信。

  • Docker 通过允许容器使用容器名称或服务名称(如果使用 Docker Compose)相互通信,自动为容器提供 DNS 功能。

  • 同一网络中的容器可以使用 Docker 的内置 DNS 服务解析彼此的名称。


【声明】内容源于网络
0
0
索引目录
索引目录是一家专注于医疗、技术开发、物联网应用等领域的创新型公司。我们致力于为客户提供高质量的服务和解决方案,推动技术与行业发展。
内容 444
粉丝 0
索引目录 索引目录是一家专注于医疗、技术开发、物联网应用等领域的创新型公司。我们致力于为客户提供高质量的服务和解决方案,推动技术与行业发展。
总阅读544
粉丝0
内容444