在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、自定义网络实现容器互联
–net=bridge 这个是默认值,连接到默认的网桥。 –net=host 告诉 Docker 不要将容器网络放到隔离的名字空间中,即不要容器化容器内的网络。此时容器使用本地主机的网络,它拥有完全的本地主机接口访问权限。容器进程可以跟主机其它 root 进程一样可以打开低范围的端口,可以访问本地网络服务比如 D-bus,还可以让容器做一些影响整个主机系统的事情,比如重启主机。因此使用这个选项的时候要非常小心。如果进一步的使用 --privileged=true,容器会被允许直接配置主机的网络堆栈。 –net=container:NAME_or_ID 让 Docker 将新建容器的进程放到一个已存在容器的网络栈中,新容器进程有自己的文件系统、进程列表和资源限制,但会和已存在的容器共享 IP 地址和端口等网络资源,两者进程可以直接通过 lo 环回接口通信。 –net=none 让 Docker 将新容器放到隔离的网络栈中,但是不进行网络配置。之后,用户可以自己进行配置。
# --driver bridge 桥接模式 # --subnet 192.168.0.0/16 子网络网段 # --gateway 192.168.0.1 网关 # mynet 网络名 docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet 查看自定义的网络信息: docker network inspect mynet
docker run -d -P --name tomcat01-net-01 --net mynet tomcat docker run -d -P --name tomcat01-net-02 --net mynet tomcat 再次查看自定义的网络信息:发现新创建的两个容器添加进网络中了。
tomcat01-net-01 ping tomcat01-net-02: tomcat01-net-02ping tomcat01-net-01: 现在不使用 --link 容器间也可以互相 ping 通了,容器间可以互相通信。 2、网络连通
创建tomcat01和tomcat02两个容器: docker run -d -P --name tomcat01 tomcat docker run -d -P --name tomcat02 tomcat 很明显,直接ping通是不可能的,需要先把tomcat01容器和mynet网络连通。
docker network connect 命令是用于将 docker 容器连接到某个网络中,可以使用容器名或者容器ID。 用法: docker network connect [OPTIONS] NETWORK CONTAINER 把tomcat01容器连接到mynet网络上: docker network connect mynet tomcat01 查看mynet的网络信息:docker inspect mynet tomcat01已经连接到mynet网络上,像tomcat01-net-tomcat01和tomcat01-net-tomcat02一样。 此时,tomcat01已经和mynet网络中的两个容器连接起来,因为这三个容器处于同一网络中,当然可以互相通信:
查看tomcat01的元数据:docker inspect tomcat01 tomcat01连接到自定义的mynet网络后,就有两个网络了。 到此这篇关于Docker之自定义网络实现的文章就介绍到这了,更多相关Docker网络内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论