基础学习之——Docker 网络模式的配置和使用

Docker网络模式是指在 Docker 容器中如何设置网络连接和通信的方式。以下是常见的 Docker 网络模式和使用方法:

  1. 默认网络模式(bridge):在默认模式下,容器与宿主机使用 bridge 网络进行通信。Docker 会为每个容器创建一对虚拟网卡(veth pair),其中一端连接到容器内部,另一端连接到宿主机的 bridge 接口。

    使用方法:

    docker run --name mycontainer -d myimage
    
  2. 主机网络模式(host):在主机模式下,容器与宿主机共享同一个网络栈,即容器中的网络设置与宿主机完全一致,容器的端口与宿主机的端口一一对应,可以直接访问宿主机的网络接口。

    使用方法:

    docker run --name mycontainer --network host -d myimage
    
  3. none网络模式:在 none 模式下,容器不会与任何网络进行连接,完全与外部网络隔离。适用于需要隔离容器网络的场景。

    使用方法:

    docker run --name mycontainer --network none -d myimage
    
  4. 自定义网络模式(自定义 bridge 网络):在自定义网络模式下,可以创建自己的网络,并将容器连接到该网络中。自定义网络可以实现容器之间的通信,也可以与外部网络进行连接。

    使用方法:

    1. 创建自定义网络:

      docker network create mynetwork
      
    2. 运行容器并连接到自定义网络:

      docker run --name mycontainer --network=mynetwork -d myimage
      

    注意:在自定义网络模式下,容器可以通过容器名称进行通信,而不仅仅是通过 IP 地址。

以上是 Docker 网络模式的一些常见用法,你可以根据实际需求选择适合的网络模式来配置你的容器。
在Docker Compose中配置网络模式,可以通过network_mode关键字来完成。network_mode指定了容器使用的网络模式,可以是以下几种模式之一:

  • bridge (默认值):容器使用默认的docker0网桥,与宿主机在同一个网络命名空间中。
  • host:容器与宿主机共享网络命名空间,容器使用宿主机的网络栈。
  • none:容器不使用网络,只有本地回环地址可以访问。
  • container:<name|ID>:容器与指定的容器共享网络命名空间。

以下是一个示例的docker-compose.yml文件的配置示例,使用了不同的网络模式:

version: '3'
services:
  app:
    image: myapp
    network_mode: bridge

  db:
    image: mysql
    network_mode: host

  web:
    image: nginx
    network_mode: none

  worker:
    image: myworker
    network_mode: container:app

在上面的示例中,app服务使用默认的bridge网络模式,db服务使用host网络模式,web服务不使用网络,只能通过本地回环地址访问,worker服务与app服务共享网络命名空间,可以直接通过容器名称来访问。

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值