mirror of
https://github.com/yeasy/docker_practice.git
synced 2025-08-02 14:01:49 +00:00
fix the terminologies, add more content
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
##工具和示例
|
||||
在介绍自定义网络拓扑之前,你可能会对一些外部工具和例子感兴趣:
|
||||
https://github.com/jpetazzo/pipework
|
||||
https://github.com/jpetazzo/pipework
|
||||
Jérôme Petazzoni 创建了一个叫pipework的shell脚本来帮助我们在复杂的场景中完成网络连接
|
||||
|
||||
https://github.com/brandon-rhodes/fopnp/tree/m/playground
|
||||
https://github.com/brandon-rhodes/fopnp/tree/m/playground
|
||||
Brandon Rhodes创建了一个完整的docker容器网络拓扑,包含 nat 防火墙,服务包括HTTP, SMTP, POP, IMAP, Telnet, SSH, and FTP:
|
||||
工具使用的网络命令跟我们之前看到非常相似。
|
||||
工具使用的网络命令跟之前看到非常相似。
|
||||
|
@@ -1,15 +1,15 @@
|
||||
##创建一个点到点连接
|
||||
默认docker会将所有容器连接到由docker0提供的虚拟子网,你也可以使用自己创建的网桥。但如果你想要2个特殊的容器之间可以直连通信,而不用去配置复杂的主机网卡桥接。
|
||||
解决办法很简单:创建一对接口,把2个容器放到这对接口中,配置成点到点链路类型。这2个容器就可以直接通信了。配置如下:
|
||||
默认Docker会将所有容器连接到由docker0提供的虚拟子网,你也可以使用自己创建的网桥。但如果你想要2个特殊的容器之间可以直连通信,而不用去配置复杂的主机网卡桥接。
|
||||
|
||||
解决办法很简单:创建一对接口,把2个容器放到这对接口中,配置成点到点链路类型。这2个容器就可以直接通信了。首先启动2个容器:
|
||||
```
|
||||
# 在2个终端中启动2个容器
|
||||
$ sudo docker run -i -t --rm --net=none base /bin/bash
|
||||
root@1f1f4c1f931a:/#
|
||||
$ sudo docker run -i -t --rm --net=none base /bin/bash
|
||||
root@12e343489d2f:/#
|
||||
```
|
||||
|
||||
找到他们的process IDs ,然后创建他们的 namespace entries
|
||||
找到他们的进程号,然后创建他们的 namespace entries
|
||||
```
|
||||
$ sudo docker inspect -f '{{.State.Pid}}' 1f1f4c1f931a
|
||||
2989
|
||||
@@ -34,7 +34,7 @@ $ sudo ip netns exec 3004 ip addr add 10.1.1.2/32 dev B
|
||||
$ sudo ip netns exec 3004 ip link set B up
|
||||
$ sudo ip netns exec 3004 ip route add 10.1.1.1/32 dev B
|
||||
```
|
||||
现在这2个容器就可以相互ping通,并成功建立连接。点到点链路不需要子网和子网掩码,使用ip route 来连接单个ip地址到指定的网络接口。
|
||||
如果没有特殊需要你不需要指定--net=none来创建点到点链路。
|
||||
现在这2个容器就可以相互ping通,并成功建立连接。点到点链路不需要子网和子网掩码,使用`ip route`来连接单个ip地址到指定的网络接口。
|
||||
如果没有特殊需要你不需要指定`--net=none`来创建点到点链路。
|
||||
|
||||
还有一个办法就是创建一个只跟主机通信的容器,除非有特殊需求,你可以仅用--icc=false来限制主机间的通信。
|
||||
还有一个办法就是创建一个只跟主机通信的容器,除非有特殊需求,你可以仅用`--icc=false`来限制主机间的通信。
|
||||
|
Reference in New Issue
Block a user