当前位置:   article > 正文

docker多个容器内部通信_java list排序

java list排序

docker很方便的给我们用容器的方式解决了服务隔离运行,同时也产生了一个需要内部网络多个容器之间发生通讯,其实比较简单就可以实现,方式为:创建一个网络组、然后需要内部通讯的容器都加入到这个网络组中,然后这写加入的容器都是同一个网段,就可以通讯了。

1、创建一个网络组

  1. [root@ecs-b3bf-0225793 ~]#
  2. [root@ecs-b3bf-0225793 ~]# docker network create --driver bridge mq-bridge
  3. 5e9af94588646f049559ba049facc50c1c8b3c8a3d06f7cd8c44df5908bf0125
  4. [root@ecs-b3bf-0225793 ~]#
  5. [root@ecs-b3bf-0225793 ~]#
  6. [root@ecs-b3bf-0225793 ~]# docker network ls
  7. NETWORK ID NAME DRIVER SCOPE
  8. 6f66df95e8ce app_net bridge local
  9. 95746a181dfb bridge bridge local
  10. 9c82ac52a997 docker_default bridge local
  11. d86404029f06 docker_work bridge local
  12. 8d350f2a2209 host host local
  13. 5e9af9458864 mq-bridge bridge local
  14. 2f1631ba396f none null local
  15. [root@ecs-b3bf-0225793 ~]#

如上,我们的网络组就可以使用了:mq-bridge

2、容器启动时指定此容器就可以

  1. [root@ecs-b3bf-0225795 conf]#
  2. [root@ecs-b3bf-0225795 conf]# docker run -d -p 10911:10911 -p 10909:10909 \
  3. -v /home/docker/rocketmq/logs:/root/logs \
  4. -v /home/docker/rocketmq/store:/root/store \
  5. -v /home/docker/rocketmq/conf/broker.conf:/opt/rocketmq-latest/conf/broker.conf \
  6. --name rmqbroker --link rmqnamesrv:namesrv --net=mq-bridge \
  7. -e "NAMESRV_ADDR=namesrv:9876" \
  8. -e "MAX_POSSIBLE_HEAP=200000000" \
  9. rocketmqinc/rocketmq:latest sh mqbroker
  10. 3046c85168b8ee4e6f61c68412c7495c596b4c366eb9091d62205ad5f97eef34
  11. [root@ecs-b3bf-0225795 rocketmq]#

如上最重要的信息:--net=mq-bridge

3、查看我们的网络组中容器的IP

  1. [root@ecs-b3bf-0225795 conf]#
  2. [root@ecs-b3bf-0225795 conf]# docker inspect mq-bridge

 ok,多个容器之间的IP就有了,具体再改相应的IP就可以内网通信了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/440134
推荐阅读
相关标签
  

闽ICP备14008679号