使用docker在单台计算机上模拟networking
比方说,我有一个应用程序运行在networking上,在多台计算机上,通过networking与其他本身的实例进行通信。 我想在一台机器上testing它,并让每个实例都相信它是在一个单独的计算机上运行的。 我怎样才能通过docker做到这一点?
正如上面评论中提到的“h”,桥接networking驱动程序为你做了这个。 这个驱动程序是默认的驱动程序,所以如果你在你的主机上运行多个容器,他们应该可以通过IP访问对方。
如果你想DNSparsing,你将需要定义一个桥梁networking,因为默认的不会为你提供。
详情请参阅https://docs.docker.com/engine/userguide/networking/
这是一个使用自定义桥接networking的简单演示:
创buildnetworking:
$ docker network create mynet
在该networking上启动一些指定容器:
$ docker run --rm -d --name one --net mynet nginx:latest $ docker run --rm -d --name two --net mynet nginx:latest
从每个容器你应该能够解决和击中其他(S):
一 – >二:
$ docker exec -it one ping two PING two (172.18.0.3): 56 data bytes 64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.098 ms ...
两个 – >一个:
$ docker exec -it two ping one PING one (172.18.0.2): 56 data bytes 64 bytes from 172.18.0.2: seq=0 ttl=64 time=0.192 ms ...
清理:
$ docker kill one two $ docker network rm mynet