Docker容器间的相互访问

本文总阅读量
本文最后更新于2 分钟前,文中所描述的信息可能已发生改变。

在使用Docker部署多个项目的时候,我们可能会想要只对外暴露一个端口来访问我们服务器上的服务,那么我们就可以使用Nginx服务器来进行反向代理,而容器之间通过配置是可以进行相互访问通信的(不需要给每个服务都配置公网ip,在内网中通信)。

docker容器间的相互访问

有三种方式:通过创建容器时分配的ip、通过link、自定义bridge网络。前两种不怎么好用。

  1. 通过ip访问

    使用命令docker inspect mycentos7来查看分配给容器 mycentos7 的ip地址。

  2. 通过link连接(静态的不好用)

  3. 通过自定义bridge网络

    • 创建bridge网络

      docker network create mynet创建名为 mynet 的网络

    • 在创建容器时指定参数将容器添加到自定义网络中并指定别名

      docker run -di --name=mycentos7 --network=mynet --network-alias=centos7 centos:7此命令会将容器 mycentos7 加入自定义网络 mynet 中并给容器指定别名 centos7 ,这样在同一个自定义网络 mynet 中的其他容器就可以直接通过ping centos7来访问容器 mycentos7 而不用通过ip来访问,可以使得当容器ip发生改变时也可以通过该别名访问容器,相比于 link 方式是动态的。

    • 查看自定义的bridge网络

      docker network ls列出系统中的全部网络。 docker network inspect mynet查看名为 mynet 的自定义网络信息。

    • 删除指定的自定义网络

      要删除自定义网络需要先断开绑定到这个网络中的容器,使用命令docker network disconnect mynet mycentos7断开自定义 mynet 网络与容器mycentos7之间的连接。删除自定义网络docker network rm mynet删除了自定义网络 mynet。

EnableAsync与Async注解实现共享线程池
Docker学习记录
Valaxy v0.18.5 驱动 | 主题 - Yun v0.18.5
本站总访问量
本站访客数 人次
本站已运行0 天0 小时0 分0 秒后缀