16.docker网络模型

1.查看本地网络类型

docker network ls




none:无网络模式

bridge:不指定网络驱动时默认创建的为bridge网络 ,相当于NAT

host: 公用宿主机network namespce

container:与其他容器公用的network namespcae


测试使用各种网络类型:

docker run network=xxx

1.bridge

隔离性高

内网容器互联,宿主机容器互联,无法跨主机互联


启动2个centos ,互相ping

docker run -it --name=“c_bridge1” --network=bridge centos:6.9 /bin/bash

docker run -it --name=“c_bridge2” --network=bridge centos:6.9 /bin/bash


安装pingmingl

docker install iproute*

查看2个容器的网段

ifconfig


inet addr:172.17.0.3


inet addr:172.17.0.2


从02ping03进行测试---》可以ping通

ping 172.17.0.3


从本地ping 02,03---》可以ping通



2.host

只隔离部分资源,不隔离网络资源,

容器和宿主机共用网络服务,容器内启动的服务占用宿主机端口,



docker run -it --name=“c_host1” --network=host centos:6.9 /bin/bash

容器的ip地址,端口等和主机一致


3.container(用于k8s中)

容器和容器间共用namespace,共用网络

docker run -it --name=“c_container1” --network=container centos:6.9 /bin/bash


4.none

无网络模式

docker run -it --name=“c_none” --network=none centos:6.9 /bin/bash


ifconfig












Commands:

  connect    Connect a container to a network

connect: 将一个容器加入到一个网络中. 示例: docker network connect 网络名称 容器 ID

  create      Create a network

create: 创建一个网络 示例: docker network create test-create

  disconnect  Disconnect a container from a network

disconnect: 与 connect 刚好相反, 从网络中断开一个容器的链接. 示例: docker network disconnect 网络名称 容器 ID ps: -f 参数强制删除

  inspect    Display detailed information on one or more networks

inspect: 查看一个网络的详情 示例: docker network inspect test-create

  ls          List networks

ls: 查看网络列表 示例: docker network ls

  prune      Remove all unused networks

prune: 删除所有未使用的网络. 示例: docker network prune ps: -f 强制删除,不提供任何确认情况下删除.

  rm          Remove one or more networks

rm: 删除一个网络. 示例 docker rm test-create ps: 如果网络中有容器连接需要加 -f 参数强制删除,建议不要这样执行,网络中若没有任何容器连接直接执行删除即可.

你可能感兴趣的:(16.docker网络模型)