14-docker 宿主机容器间互联

随着 Docker 网络的完善,强烈建议大家将容器加入自定义的 Docker 网络来连接多个容器,而不是使用 --link 参数。

1.新建网络

# 默认情况只有3种网络
[root@docker03 ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
a66de95d526f        bridge              bridge              local
51e1ca20a9e5        host                host                local
d218e92e7a5a        none                null                local

# 创建 一个叫net01的bridge网络,-d 参数指定 Docker 网络类型,有 bridge overlay。其中 overlay 网络类型用于 Swarm mode,在本小节中你可以忽略它。
[root@docker03 ~]# docker network create -d bridge net01
678c6b4299a9cd06f1532ea5a7e92d507c9357ca2f227f9df8c8478edbf89c23

# 查看
[root@docker03 ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
a66de95d526f        bridge              bridge              local
51e1ca20a9e5        host                host                local
678c6b4299a9        net01               bridge              local
d218e92e7a5a        none                null                local

2.创建并连接容器

[root@docker03 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
sunmmi/nginx        latest              1fd61459671b        20 hours ago        385MB
centos              latest              2d194b392dd1        2 weeks ago         195MB
alpine              latest              3fd9065eaf02        2 months ago        4.14MB
hello-world         latest              f2a91732366c        4 months ago        1.85kB
[root@docker03 ~]# docker run -itd --rm --name nginx01 --network net01 sunmmi/nginx 
0984e116ed1836606b5c8e54e691a20933be9d1f11eed6ab54799f8b9f49d10d
[root@docker03 ~]# docker run -itd --rm --name nginx02 --network net01 sunmmi/nginx 
ba4faed979155dde435c2347f7e9ce6a713c6ef8e991d36a3144173760b8b285

3.进入容器nginx01测试,直接ping主机名

[root@docker03 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ba4faed97915        sunmmi/nginx        "/bin/bash"         7 seconds ago       Up 6 seconds                            nginx02
0984e116ed18        sunmmi/nginx        "/bin/bash"         14 seconds ago      Up 13 seconds                           nginx01
[root@docker03 ~]# docker exec -it ba4faed97915 bash
[root@ba4faed97915 /]# ping nginx02
PING nginx02 (172.18.0.3) 56(84) bytes of data.
64 bytes from ba4faed97915 (172.18.0.3): icmp_seq=1 ttl=64 time=0.021 ms
64 bytes from ba4faed97915 (172.18.0.3): icmp_seq=2 ttl=64 time=0.034 ms
^C
--- nginx02 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.021/0.027/0.034/0.008 ms
[root@ba4faed97915 /]# cat /etc/hosts
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.18.0.3	ba4faed97915
[root@ba4faed97915 /]

 

posted @ 2018-03-21 12:04  sunmmi  阅读(145)  评论(0)    收藏  举报