新人也能做的Docker项目 (5) Docker Networks

本文介绍了Docker的三种网络类型:Bridge、None和Host Network,详细阐述了每种网络的特点,并通过实践操作展示了如何创建自定义网络以及如何让已运行的容器连接到新网络。此外,还探讨了如何管理网络,为后续学习容器间通信奠定了基础。
摘要由CSDN通过智能技术生成

Docker Network

Docker 默认提供三种网络类型:

  1. Bridge network
  2. None Network
  3. Host Network

Bridge network

当我们运行一个容器而不给它任何其它参数的时候,Bridge network将会是缺省网络类型。例如:

docker run ubuntu

以上命令默认创建了一个Bridge network
在这里插入图片描述
当网络被创建后,它会有一个默认ip,在这个例子中它是172.17.0.0。每当一个新的容器被创建,新的ip就会在这个子网内被创建,并分配给这个新的容器。

None Network

docker run -itd --network=none ubuntu

当我们用这个网络类型运行一个image时,创建的container不会被分配到任何网络,所以我们不能从主机与这个docker进行通信。

Host Network

docker run --network=host ubuntu

当我们给Host Network运行image的时候,创建的容器使用和主机相同的网络环境,这就意味着如果我们创建的容器占用了8080端口,那你就不能再创建另一个同样使用Host Network的容器去使用8080端口
在这里插入图片描述

让我们上机实践下

我们输入下列命令查看下网络类型的种类

docker network ls

输出应该是和下面的差不多:

NETWORK ID     NAME      DRIVER    SCOPE
7c7b0621c2f7   bridge    bridge    local
9c8c2ecfc1eb   host      host      local
efa92ce29ecc   none      null      local

我们接下来检视下这些网络:

docker network inspect [NETWORK ID]

例:

docker network inspect 7c

我们可以在输出信息里找到该网络的子网信息:

"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"

还能告诉我们有哪些容器用到了该网络:

"Containers": {
   
            "36bacba328578d0aed1eaca364985f7cb401eea53d08bfa5fee97bc9611f6d71": {
   
                "Name": "hopeful_bohr",
                "EndpointID": "dc4265a44e55e27d9130fa620f6e74bc870d907d4b87dc4fff2967ab7d1af2b1",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            }

我们可以再创建一个容器,并让它使用Bridge network

输入下列命令,让创建的容器连入Bridge network

docker run -itd ubuntu

再查看下新建的容器的id:

docker ps

我们再检视下新建的容器的配置:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值