如何做介绍监控公司的网站,绿色家园网站怎么做,wordpress 固定侧边栏,一屏式网站有什么好处文章目录 1、Docker网络简介2、常用基本命令3、网络模式对比举例3.1、bridge模式3.2、host模式3.3、none模式3.4、container模式3.5、自定义网络 1、Docker网络简介 
作用#xff1a; 
容器间的互联和通信以及端口映射容器IP变动时候可以通过服务名直接进行网络通信而不受到影… 文章目录 1、Docker网络简介2、常用基本命令3、网络模式对比举例3.1、bridge模式3.2、host模式3.3、none模式3.4、container模式3.5、自定义网络  1、Docker网络简介 
作用 
容器间的互联和通信以及端口映射容器IP变动时候可以通过服务名直接进行网络通信而不受到影响下面例子证明 
Docker启动后宿主机网络情况如下 
[rootlocalhost ~]# ifconfig 
docker0: flags4099UP,BROADCAST,MULTICAST  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255inet6 fe80::42:f1ff:fee7:6e82  prefixlen 64  scopeid 0x20linkether 02:42:f1:e7:6e:82  txqueuelen 0  (Ethernet)RX packets 283  bytes 18529 (18.0 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 249  bytes 26762 (26.1 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens33: flags4163UP,BROADCAST,RUNNING,MULTICAST  mtu 1500inet 192.168.10.101  netmask 255.255.255.0  broadcast 192.168.10.255inet6 fe80::7d22:7ddb:c5c0:943e  prefixlen 64  scopeid 0x20linkether 00:0c:29:06:ba:14  txqueuelen 1000  (Ethernet)RX packets 417482  bytes 390510898 (372.4 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 316220  bytes 80580892 (76.8 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags73UP,LOOPBACK,RUNNING  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10hostloop  txqueuelen 1  (Local Loopback)RX packets 24  bytes 1554 (1.5 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 24  bytes 1554 (1.5 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0virbr0: flags4099UP,BROADCAST,MULTICAST  mtu 1500inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255ether 52:54:00:4b:82:8e  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 
在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡它还有一个固定的默认IP地址192.168.122.1)是做虚拟机网桥的使用的其作用是为连接其上的虚机网卡提供 NAT访问外网的功能。 
docker0bridge模式对应的名称默认为docker0. 
默认创建3大网络模式 
[rootlocalhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
44119cc9ea23   bridge    bridge    local
d91b1b0c56a6   host      host      local
b99fab7bcddb   none      null      local2、常用基本命令 
docker network基本命令如下 
[rootlocalhost ~]# docker network --helpUsage:  docker network COMMANDManage networksCommands:connect     Connect a container to a networkcreate      Create a networkdisconnect  Disconnect a container from a networkinspect     Display detailed information on one or more networksls          List networksprune       Remove all unused networksrm          Remove one or more networks查看网络 [rootlocalhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
44119cc9ea23   bridge    bridge    local
d91b1b0c56a6   host      host      local
b99fab7bcddb   none      null      local查看网络源数据 [rootlocalhost ~]# docker network inspect bridge
[{Name: bridge,Id: 44119cc9ea23b265d7a358c044b6347a07eda61e1b950194b1268d80a6a1130f,Created: 2024-05-21T08:10:03.116073617-04:00,Scope: local,Driver: bridge,EnableIPv6: false,IPAM: {Driver: default,Options: null,Config: [{Subnet: 172.17.0.0/16,Gateway: 172.17.0.1}]},Internal: false,Attachable: false,Ingress: false,ConfigFrom: {Network: },ConfigOnly: false,Containers: {},Options: {com.docker.network.bridge.default_bridge: true,com.docker.network.bridge.enable_icc: true,com.docker.network.bridge.enable_ip_masquerade: true,com.docker.network.bridge.host_binding_ipv4: 0.0.0.0,com.docker.network.bridge.name: docker0,com.docker.network.driver.mtu: 1500},Labels: {}}
]创建和删除网络 [rootlocalhost ~]# docker network create aa
a74705857db0820cb65a4f2bc478dc3076759b5a7227d9c43191a36810c5a8be
[rootlocalhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
a74705857db0   aa        bridge    local
44119cc9ea23   bridge    bridge    local
d91b1b0c56a6   host      host      local
b99fab7bcddb   none      null      local
[rootlocalhost ~]# docker network inspect aa
[{Name: aa,Id: a74705857db0820cb65a4f2bc478dc3076759b5a7227d9c43191a36810c5a8be,Created: 2024-05-21T08:19:34.484538348-04:00,Scope: local,Driver: bridge,EnableIPv6: false,IPAM: {Driver: default,Options: {},Config: [{Subnet: 172.18.0.0/16,Gateway: 172.18.0.1}]},Internal: false,Attachable: false,Ingress: false,ConfigFrom: {Network: },ConfigOnly: false,Containers: {},Options: {},Labels: {}}
]
[rootlocalhost ~]# docker network rm aa
aa
[rootlocalhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
44119cc9ea23   bridge    bridge    local
d91b1b0c56a6   host      host      local
b99fab7bcddb   none      null      local3、网络模式对比 
举例 
通过实验验证容器实例内默认网络IP生产规则。 启动两个ubuntu容器实例 [rootlocalhost ~]# docker run -it --name u1 ubuntu bash
root08193b3d0329:/# [rootlocalhost ~]# [rootlocalhost ~]# docker run -it --name u2 ubuntu bash
root4ab9fe4de68c:/#
root4ab9fe4de68c:/# [rootlocalhost ~]# [rootlocalhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS          PORTS     NAMES
4ab9fe4de68c   ubuntu    bash    16 seconds ago   Up 15 seconds             u2
08193b3d0329   ubuntu    bash    34 seconds ago   Up 33 seconds             u1docker inspect 容器ID/容器名称 [rootlocalhost ~]# docker inspect u1 | tail -n 20bridge: {IPAMConfig: null,Links: null,Aliases: null,MacAddress: 02:42:ac:11:00:02,NetworkID: 44119cc9ea23b265d7a358c044b6347a07eda61e1b950194b1268d80a6a1130f,EndpointID: fb78c785caa067f9e1be3f7db8a8f4aa8c5e4fb90c7d036f82397801df5bedf4,Gateway: 172.17.0.1,IPAddress: 172.17.0.2,IPPrefixLen: 16,IPv6Gateway: ,GlobalIPv6Address: ,GlobalIPv6PrefixLen: 0,DriverOpts: null,DNSNames: null}}}}
]
[rootlocalhost ~]# docker inspect u2 | tail -n 20bridge: {IPAMConfig: null,Links: null,Aliases: null,MacAddress: 02:42:ac:11:00:03,NetworkID: 44119cc9ea23b265d7a358c044b6347a07eda61e1b950194b1268d80a6a1130f,EndpointID: 230a54ffdc3efea8bde3989bdee6d4238ec1d3f8eb387c1d1ee099bd3809d0d2,Gateway: 172.17.0.1,IPAddress: 172.17.0.3,IPPrefixLen: 16,IPv6Gateway: ,GlobalIPv6Address: ,GlobalIPv6PrefixLen: 0,DriverOpts: null,DNSNames: null}}}}
]发现u1的IP为172.17.0.2u2的IP为172.17.0.3  关闭u2实例新建u3实例查看IP变化 [rootlocalhost ~]# docker stop u2
u2
[rootlocalhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS         PORTS     NAMES
08193b3d0329   ubuntu    bash    5 minutes ago   Up 5 minutes             u1
[rootlocalhost ~]# docker run -it --name u3 ubuntu bash
rootf68bf70d8921:/# [rootlocalhost ~]# 
[rootlocalhost ~]# docker inspect u3 | tail -n 20bridge: {IPAMConfig: null,Links: null,Aliases: null,MacAddress: 02:42:ac:11:00:03,NetworkID: 44119cc9ea23b265d7a358c044b6347a07eda61e1b950194b1268d80a6a1130f,EndpointID: 66087aa062483842ac5e1028e03cbacfde64c6b0a0ee49c586b42f0650db858f,Gateway: 172.17.0.1,IPAddress: 172.17.0.3,IPPrefixLen: 16,IPv6Gateway: ,GlobalIPv6Address: ,GlobalIPv6PrefixLen: 0,DriverOpts: null,DNSNames: null}}}}
]此时u3的IP为172.17.0.3  
结论 
docker容器内部的ip是可能会发生变化的。 
3.1、bridge模式 
使用--network bridge指定默认使用docker0。 
Docker 服务默认会创建一个docker0 网桥其上有一个 docker0 内部接口该桥接网络的名称为docker0。它在内核层连通了其他的物理或虚拟网卡这就将所有容器和本地主机都放到同一个物理网络。Docker默认指定了docker0接口的IP地址和子网掩码让主机和容器之间可以通过网桥相互通信。 
查看 bridge 网络的详细信息并通过 grep 获取名称项如下 
[rootlocalhost ~]# docker network inspect bridge | grep namecom.docker.network.bridge.name: docker0,
[rootlocalhost ~]# ifconfig | grep docker
docker0: flags4163UP,BROADCAST,RUNNING,MULTICAST  mtu 1500详细原理 
Docker使用Linux桥接在宿主机虚拟一个Docker容器网桥(docker0)Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址称为Container-IP同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥这样容器之间就能够通过容器的Container-IP直接通信。docker run的时候没有指定network默认使用的网桥模式就是bridge使用的就是docker0。在宿主机ifconfig就可以看到docker0和自己create的network(后面讲)eth0eth1eth2……代表网卡一网卡二网卡三……。lo代表127.0.0.1即localhost。inet addr用来表示网卡的IP地址。网桥docker0创建一对对等虚拟设备接口网桥端叫veth容器端叫eth0成对匹配。 整个宿主机的网桥模式都是docker0类似一个交换机有一堆接口每个接口叫veth在本地主机和容器内分别创建一个虚拟接口并让他们彼此联通这样一对接口叫veth pair即docker0上面的每个veth匹配某个容器实例内部的eth0两两配对一一匹配。每个容器实例内部也有一块网卡每个接口叫eth0。  
通过上述将宿主机上的所有容器都连接到这个内部网络上两个容器在同一个网络下会从这个网关下各自拿到分配的ip此时两个容器的网络是互通的。 实验验证 
[rootlocalhost ~]# docker run -d -p 8081:8080 --name tomcat81 billygoo/tomcat8-jdk8
3f29cf92d37828ddb82b2d6f14e98a876f007505cee9732a0cc39269bf9e2812
[rootlocalhost ~]# docker run -d -p 8082:8080 --name tomcat82 billygoo/tomcat8-jdk8
d11c5d7e24f4c749db8fdecec62ba81ba25bc9f565bfb1b8e6267dfdc3181179
[rootlocalhost ~]# docker exec -it tomcat81 bash
root3f29cf92d378:/usr/local/tomcat# ip addr
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
43: eth0if44: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::42:acff:fe11:4/64 scope link valid_lft forever preferred_lft forever
root3f29cf92d378:/usr/local/tomcat# read escape sequence
[rootlocalhost ~]# docker exec -it tomcat82 bash
rootd11c5d7e24f4:/usr/local/tomcat# ip addr
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
45: eth0if46: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:11:00:05 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 172.17.0.5/16 brd 172.17.255.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::42:acff:fe11:5/64 scope link valid_lft forever preferred_lft forever
rootd11c5d7e24f4:/usr/local/tomcat# read escape sequence 
[rootlocalhost ~]# ip addr | tail -n 8
44: veth73a16b8if43: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc noqueue master docker0 state UP link/ether a2:fb:75:9a:05:56 brd ff:ff:ff:ff:ff:ff link-netnsid 2inet6 fe80::a0fb:75ff:fe9a:556/64 scope link valid_lft forever preferred_lft forever
46: vethefa7573if45: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc noqueue master docker0 state UP link/ether 26:50:1f:5e:9d:7e brd ff:ff:ff:ff:ff:ff link-netnsid 3inet6 fe80::2450:1fff:fe5e:9d7e/64 scope link valid_lft forever preferred_lft forever 
从宿主机及两个容器的IP信息可验证在bridge模式下veth和eth0两两匹配。 
3.2、host模式 
使用--network host指定该容器与主机IP一致共用主机端口。 
host模式容器直接使用宿主机的 IP 地址与外界进行通信不再需要额外进行NAT转换。 
容器将不会获得一个独立的Network Namespace 而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡而是使用宿主机的IP和端口。 实验验证 
命令1docker run -d -p 8083:8080 --network host --name tomcat83 billygoo/tomcat8-jdk8 问题 docke启动时总是遇见标题中的警告 原因 docker启动时指定–networkhost或-nethost如果还指定了-p映射端口那这个时候就会有此警告并且通过-p设置的参数将不会起到任何作用端口号会以主机端口号为主重复时则递增。 解决: 解决的办法就是使用docker的其他网络模式例如–networkbridge这样就可以解决问题或者直接无视。 命令2:docker run -d --network host --name tomcat83 billygoo/tomcat8-jdk8 
容器详情如下图所示  通过访问http://宿主机IP:8080/,进行测试。在CentOS里面用默认的火狐浏览器访问容器内的tomcat83看到访问成功因为此时容器的IP借用主机的所以容器共享宿主机网络IP这样的好处是外部主机与容器可以直接通信。 
3.3、none模式 
使用--network none指定。 
在none模式下并不为Docker容器进行任何网络配置。 也就是说这个Docker容器没有网卡、IP、路由等信息只有一个lo127.0.0.1需要我们自己为Docker容器添加网卡、配置IP等。 
验证实验 
docker run -d -p 8084:8080 --network none --name tomcat84 billygoo/tomcat8-jdk8进入容器内部查看 在容器外部查看 3.4、container模式 
使用--network container:Name或者--network container:容器ID指定该容器和指定容器共用IP和端口 
新建的容器和已经存在的一个容器共享一个网络ip配置而不是和宿主机共享。新创建的容器不会创建自己的网卡配置自己的IP而是和一个指定的容器共享IP、端口范围等。同样两个容器除了网络方面其他的如文件系统、进程列表等还是隔离的。 错误案例 
docker run -d -p 8085:8080 --name tomcat85 billygoo/tomcat8-jdk8
docker run -d -p 8086:8080 --network container:tomcat85 --name tomcat86 billygoo/tomcat8-jdk8报错相当于tomcat86和tomcat85公用同一个ip同一个端口导致端口冲突。 
本案例使用该镜像演示不适合。 
实验验证 
docker run -it --name alpine1 alpine /bin/sh
docker run -it --network container:alpine1 --name alpine1 alpine /bin/sh运行结果验证共用搭桥 假如此时关闭alpine1再看看alpine2 结论依赖容器alpine2的网络需要保证该容器alpine1的稳定运行否则依赖容器alpine2网络将会瘫痪。 
3.5、自定义网络 
自己创建一个network并使用。 
before实验验证 
docker run -d -p 8081:8080 --name tomcat81 billygoo/tomcat8-jdk8
docker run -d -p 8082:8080 --name tomcat82 billygoo/tomcat8-jdk8上述成功启动并用docker exec进入各自容器实例内部。 
按照IP地址ping是OK的 按照服务名ping是失败的  
after实验验证 
自定义桥接网络自定义网络默认使用的是桥接网络bridge 
新建自定义网络 
[rootzyn01 ~]# docker network create zzyy_network
7bf416ce963c26e39682b1259694ae7c05bebbb0d97b30b46c9169cf952a9dd8
[rootzyn01 ~]# docker network ls
NETWORK ID     NAME           DRIVER    SCOPE
52da5ad0d3c8   bridge         bridge    local
5068ece9f839   host           host      local
0b3a4f577ba6   none           null      local
7bf416ce963c   zzyy_network   bridge    local新建容器加入上一步新建的自定义网络 
docker run -d -p 8081:8080 --network zzyy_network --name tomcat81 billygoo/tomcat8-jdk8
docker run -d -p 8082:8080 --network zzyy_network --name tomcat82 billygoo/tomcat8-jdk8互相ping测试 结论自定义网络本身就维护了主机名和ip的对应关系ip和域名都能ping通 文章转载自: http://www.morning.wdply.cn.gov.cn.wdply.cn http://www.morning.mrcpy.cn.gov.cn.mrcpy.cn http://www.morning.pabxcp.com.gov.cn.pabxcp.com http://www.morning.lnrr.cn.gov.cn.lnrr.cn http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn http://www.morning.glnmm.cn.gov.cn.glnmm.cn http://www.morning.rdnkx.cn.gov.cn.rdnkx.cn http://www.morning.bwdnx.cn.gov.cn.bwdnx.cn http://www.morning.zmbzl.cn.gov.cn.zmbzl.cn http://www.morning.glnfn.cn.gov.cn.glnfn.cn http://www.morning.dhdzz.cn.gov.cn.dhdzz.cn http://www.morning.lktjj.cn.gov.cn.lktjj.cn http://www.morning.zlnmm.cn.gov.cn.zlnmm.cn http://www.morning.ylph.cn.gov.cn.ylph.cn http://www.morning.jsmyw.cn.gov.cn.jsmyw.cn http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn http://www.morning.brfxt.cn.gov.cn.brfxt.cn http://www.morning.qkrzn.cn.gov.cn.qkrzn.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn http://www.morning.kggxj.cn.gov.cn.kggxj.cn http://www.morning.fqmcc.cn.gov.cn.fqmcc.cn http://www.morning.ltcnd.cn.gov.cn.ltcnd.cn http://www.morning.fnpmf.cn.gov.cn.fnpmf.cn http://www.morning.mgtmm.cn.gov.cn.mgtmm.cn http://www.morning.mkrqh.cn.gov.cn.mkrqh.cn http://www.morning.pplxd.cn.gov.cn.pplxd.cn http://www.morning.bndkf.cn.gov.cn.bndkf.cn http://www.morning.hxbps.cn.gov.cn.hxbps.cn http://www.morning.mnccq.cn.gov.cn.mnccq.cn http://www.morning.lhyhx.cn.gov.cn.lhyhx.cn http://www.morning.wxwall.com.gov.cn.wxwall.com http://www.morning.hlppp.cn.gov.cn.hlppp.cn http://www.morning.mwrxz.cn.gov.cn.mwrxz.cn http://www.morning.tlfyb.cn.gov.cn.tlfyb.cn http://www.morning.lkhgq.cn.gov.cn.lkhgq.cn http://www.morning.zpdjh.cn.gov.cn.zpdjh.cn http://www.morning.hbpjb.cn.gov.cn.hbpjb.cn http://www.morning.psxxp.cn.gov.cn.psxxp.cn http://www.morning.wbfly.cn.gov.cn.wbfly.cn http://www.morning.nxbsq.cn.gov.cn.nxbsq.cn http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn http://www.morning.tjndb.cn.gov.cn.tjndb.cn http://www.morning.dwfxl.cn.gov.cn.dwfxl.cn http://www.morning.sbrrf.cn.gov.cn.sbrrf.cn http://www.morning.qyqmj.cn.gov.cn.qyqmj.cn http://www.morning.mkyny.cn.gov.cn.mkyny.cn http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn http://www.morning.madamli.com.gov.cn.madamli.com http://www.morning.sdkaiyu.com.gov.cn.sdkaiyu.com http://www.morning.qfmns.cn.gov.cn.qfmns.cn http://www.morning.qrpx.cn.gov.cn.qrpx.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.kcypc.cn.gov.cn.kcypc.cn http://www.morning.rpjyl.cn.gov.cn.rpjyl.cn http://www.morning.zfwjh.cn.gov.cn.zfwjh.cn http://www.morning.jlboyuan.cn.gov.cn.jlboyuan.cn http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn http://www.morning.hrdx.cn.gov.cn.hrdx.cn http://www.morning.jglqn.cn.gov.cn.jglqn.cn http://www.morning.tgmwy.cn.gov.cn.tgmwy.cn http://www.morning.yjtnc.cn.gov.cn.yjtnc.cn http://www.morning.dodoking.cn.gov.cn.dodoking.cn http://www.morning.xkpjl.cn.gov.cn.xkpjl.cn http://www.morning.skbkq.cn.gov.cn.skbkq.cn http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn http://www.morning.gtjkh.cn.gov.cn.gtjkh.cn http://www.morning.kjkml.cn.gov.cn.kjkml.cn http://www.morning.rbgqn.cn.gov.cn.rbgqn.cn http://www.morning.bttph.cn.gov.cn.bttph.cn http://www.morning.psqs.cn.gov.cn.psqs.cn http://www.morning.rhfbl.cn.gov.cn.rhfbl.cn http://www.morning.rfwqt.cn.gov.cn.rfwqt.cn http://www.morning.dgsr.cn.gov.cn.dgsr.cn http://www.morning.pkggl.cn.gov.cn.pkggl.cn http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn http://www.morning.pfbx.cn.gov.cn.pfbx.cn http://www.morning.rrqbm.cn.gov.cn.rrqbm.cn http://www.morning.wwnb.cn.gov.cn.wwnb.cn