16.1 none

  创建一个容器使用网络none:

[root@docker ~]# docker run -d --name test1 --network none busybox /bin/sh -c "while true;do sleep 3600;done"

  查看none网络的信息:

[root@docker ~]# docker network inspect none
[
{
"Name": "none",
"Id": "01f3c01c3ade3c5407e8eca21e1feb90d20915a18620c2a56ffd0cf6988eb141",
"Created": "2018-05-30T08:06:34.343726459+07:00",
"Scope": "local",
"Driver": "null",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": []
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"f8604dad47bf8f9b53b5b818bf7e4a3e812aa8de2430eaa9e3598c39542a9245": {
"Name": "test1",
"EndpointID": "b168220f621a7c4074bfd87d4ba929d5245431ae69e7ff6a0bd5f07db7f8f2f9",
"MacAddress": "",
"IPv4Address": "",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
[root@docker ~]#

  可以发现test1这个容器没有任何网络信息,既没有mac地址也没有IP地址。也就是说这个容器无法通过任何方式访问到。

none网络的应用

  1. 用于部署一些安全性非常高的应用,不希望被其他人访问到,例如:“存放各种隐私资料”
  2. 通过一些只能本地访问的应用等

16.2 host

  创建一个容器使用网host:

[root@docker ~]# docker run -d --name test2 --network host busybox /bin/sh -c "while true;do sleep 3600;done"

  查看host网络的信息:

[root@docker ~]# docker network inspect host
[
{
"Name": "host",
"Id": "67f0fa7f22b04993967cd3aaafb8407927c755b7321db68aa6817e580bd31d91",
"Created": "2018-05-30T08:06:34.357481559+07:00",
"Scope": "local",
"Driver": "host",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": []
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"e8150846b487e3dff44b469003bf6d576708e0bd611d9be9b084fd20e5743e07": {
"Name": "test2",
"EndpointID": "8ee16ddc5dc8a006b08185443aa0cc51fb2c192a735f5419ab05deec42795a55",
"MacAddress": "",
"IPv4Address": "",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
[root@docker ~]#

  可以发现test2这个容器和none网络的容器一样也没有任何网络信息,既没有mac地址也没有IP地址。但是,我们可以查看一下test2容器内部是否也是和none网络的容器一样:

[root@docker ~]# docker exec -it test2 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:3e:00:68:40 brd ff:ff:ff:ff:ff:ff
inet 172.21.168.103/20 brd 172.21.175.255 scope global dynamic eth0
valid_lft 308531002sec preferred_lft 308531002sec
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
link/ether 02:42:0c:47:25:c2 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
182: br-380c3f9ac371: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
link/ether 02:42:4d:d4:b4:b7 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-380c3f9ac371
valid_lft forever preferred_lft forever

  对比一下宿主机上的网络信息:

[root@docker ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:16:3e:00:68:40 brd ff:ff:ff:ff:ff:ff
inet 172.21.168.103/20 brd 172.21.175.255 scope global dynamic eth0
valid_lft 308530924sec preferred_lft 308530924sec
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:0c:47:25:c2 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
182: br-380c3f9ac371: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:4d:d4:b4:b7 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-380c3f9ac371
valid_lft forever preferred_lft forever
[root@docker ~]#

  可以发现,host网络下的容器的网络信息和宿主机的完全一样。这样的容器可能会和宿主机的端口冲突。

16、Docker的网络-host和none的更多相关文章

  1. docker的网络-单主机(三种原生网络)none、host、bridge

    docker的网络分为:单主机.跨主机 这篇先说:单主机 我们先说一下docker的原生网络模式 网络模式 简介 优点 使用场景 none 空网络,没有网络 此网络与外界隔离,安全度非常高 适合公司内 ...

  2. docker从零开始网络(四 ) host网络

    使用主机网络 如果host对容器使用网络驱动程序,则该容器的网络堆栈不会与Docker主机隔离.例如,如果您运行绑定到端口80 host的容器并使用网络,则容器的应用程序将在主机IP地址的端口80上可 ...

  3. 17. docker 网络 host 和 none

    1.none network 创建一个 none 网络的 container test1 docker run --name test1 --network none busybox /bin/sh ...

  4. Docker(四):Docker基本网络配置

    1.Libnetwork Libnetwork提出了新的容器网络模型简称为CNM,定义了标准的API用于为容器配置网络. CNM三个重要概念: 沙盒:一个隔离的网络运行环境,保存了容器网络栈的配置,包 ...

  5. 5、Docker容器网络

    使用Linux进行IP层网络管理的指     http://linux-ip.net/html/ # yum install iproute http://linux-ip.net/html/tool ...

  6. Docker的网络类型和固定IP设置

    Docker的网络机制 Docker的网络有三种类型(driver): bridge, host 和 null. birdge: 就如同桥接的switch/hub, 使用bridge网络的contai ...

  7. docker之 网络模式和跨主机通信

    Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0... Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建 ...

  8. [k8s]docker calico网络&docker cluster-store

    docker cluster-store选项 etcd-calico(bgp)实现docker夸主机通信 配置calico网络 - 启动etcd etcd --listen-client-urls h ...

  9. Docker源码分析(六):Docker Daemon网络

    1. 前言 Docker作为一个开源的轻量级虚拟化容器引擎技术,已然给云计算领域带来了新的发展模式.Docker借助容器技术彻底释放了轻量级虚拟化技术的威力,让容器的伸缩.应用的运行都变得前所未有的方 ...

随机推荐

  1. js中常用的内部函数的使用

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. zg 作业一

    作业一: 将xxjjT01增加窗体及按钮(增.修.删) 表单(form1.html) 设定按钮作业,授权 1.新增:XXJJT01+CREATE 2.修改:XXJJT01+UPDATE 3.删除:XX ...

  3. Jmeter分布式

    Jmeter运行时十分耗CPU和内存,在实际应用中有时一台机器不能满足测试要求,这时就需要利用多台机器来进行分布式.   Jmeter分布式的测试框架:框架中所有的测试脚本都要从测试主机传送到测试从机 ...

  4. HTTP Error 500.0 - Internal Server Error错误代码0x80070002

    案例研究:AspNetInitClrHostFailureModule中的“HTTP错误500.0 - 内部服务器错误” 症状 当用户访问在Windows Server 2008 R2计算机上运行的A ...

  5. Element div is not closed

    报错内容:Element div is not closed 解决方法: 将代码复制到NotePad++.SubLime Text等文本编辑器中,另存为.jsp或者.html文件. 这样可以利用语法高 ...

  6. Python int() 函数

    Python int() 函数  Python 内置函数 描述 int() 函数用于将一个字符串或数字转换为整型. 语法 以下是 int() 方法的语法: class int(x, base=10) ...

  7. 网络基础相关的知识 socket模块

    1.架构 1.C/S架构:client客户端和server服务器端 优势:能充分发挥pc机的性能 2.B/S架构:browser浏览器和server服务器    隶属于C/S架构 B/S架构  统一了 ...

  8. 【校招面试 之 C/C++】第8题 C++中的静态绑定与动态绑定

    转自:https://blog.csdn.net/chgaowei/article/details/6427731   做了部分修改 为了支持c++的多态性,才用了动态绑定和静态绑定.理解他们的区别有 ...

  9. Linux 下 FastDFS v5.08 分布式文件系统的安装

    一.系统安装目录 源代码包目录 /data/wwwroot libevent安装目录 /usr/local/libevent FastDFS安装目录 /data/fastdfs nginx安装目录 / ...

  10. discuz的css处理机制

    common/common.css 是一个通用的css文件. common/module.css 是某个功能模块使用的css文件.   module.css中,利用特殊语法: /** 标识 **/ c ...