docker连接两个容器的网络

项目结构描述

首先是数据库部分使用了一个docker-compose.yml

然后web部分使用了一个docker-compose.yml

由于项目架构较为复杂,所以分为两部分

现需要将两部分网络连接起来,使其相互之间能够通过container-name访问

具体操作:

  1. 首先查看数据库部分的容器所在的网络名字( 不要猜:) )

    docker inspect <容器名称或ID> --format='{{json .NetworkSettings.Networks}}'
    
    # 假定上面的到的结果为:database_network
    
  2. 修改web的docker-compose.yml

    ...
        networks:
          - nrmnetwork
    networks:
      nrmnetwork:
        external:
          name: database_network
    
  3. 检查效果:

    # 通过查看容器的ip地址,只要在同一个C段就说明配置成功,可以通过容器名互相访问。
    docker inspect <web容器> --format='{{json .NetworkSettings.Networks}}'
    
    docker inspect <db容器> --format='{{json .NetworkSettings.Networks}}'
    

posted @ 2023-06-06 15:32  lisicn  阅读(120)  评论(0编辑  收藏  举报