🗒️Docker的网络模式

type
status
slug
summary
tags
category
icon
password
Date
Docker启动时会在宿主机器上创建一个名为docker0的虚拟网络接口,它会从私有地址中随机选择一个主机不冲突的地址和子网掩码,并将其分配给docker0。
例如,当启动Docker后选择docker0及172.17.0.1/16,一个16位的子网掩码给容器提供了65534个IP地址。
docker0 是一个特殊的虚拟以太网桥,它充当容器和主机之间以及容器与容器之间通信的桥梁
 

Docker 的几种网络模式

  • bridge模式,使用–net=bridge指定,默认设置。容器会连接到一个虚拟网络桥(通常是docker0),并获得该网络段内的一个IP地址。这种模式支持通过网络地址转换(NAT)与外部网络进行通信
    • host模式,使用–net=host指定。容器将与宿主机共用一个Network Namespace
      • container模式,使用–net=container:NAME_or_ID指定。容器和已经存在的容器共享一个Network Namespace
        • none模式,使用–net=none指定。容器就会拥有自己的Network Namespace,但是并不为Docker容器进行任何网络配置
          • verlay 覆盖网络模式,这种模式用于Docker Swarm或Kubernetes这样的集群环境中,允许在多个Docker主机之间创建一个虚拟网络,从而使不同主机上的容器能够直接通信
             

            端口映射

            在 Docker 容器启动时,可以通过 -p 参数来设置端口映射。这个参数的格式通常是 宿主机端口:容器端口
            例如,如果你有一个运行在容器内部的 web 服务器,监听在 80 端口,你可以通过如下命令将其映射到宿主机的 8080 端口:
            Loading...

            © NotionNext 2021-2025