Docker 网络-Network

Network是docker的四大对象之一,是容器的网络功能对象。通过Network命令集进行管理。

Docker默认状态下的三个network对象:

  • none 只有一个回环网卡,没有任何的网络通信能力
  • host 与宿主机共用一块网卡
  • bridge 利用虚拟路由器进行网络通信
    注:容器默认Network对象为bridge
#启动容器时指定network对象
docker run --name c1 --network=host -it busybox

Network对象管理

  • 基本命令
#查看network对象列表
docker network ls

#详细查看某一个network对象
docker inspect xxx
  • 创建/删除Network对象:
#创建一个名为ken_net的bridge对象
docker network create --driver=bridge ken_net

#删除network对象
docker network rm/prune xxx
prune是删除已不被任何容器使用的network
  • 绑定/解绑操作
    绑定后,不同bridge中的容器可以进行网络通讯
#绑定,将容器c1与bridge相连接
docker network connect bridge c1
#解绑
docker network disconnect bridge c1
  • 容器间共享网络(与其他容器共享网络)
docker run --name c5 -it --network=container:c4 busybox
  • 端口映射(外界可以通过访问宿主机的端口从而访问到容器的端口)
#访问宿主机的3006端口即可映射到容器的80端口
docker run --name c6 -it --network=bridge -p 3006:80 busybox

工作示意图如下:

image.png

你可能感兴趣的:(Docker 网络-Network)