首页 > 解决方案 > 配置 Docker 容器以通过网络进行通信

问题描述

如何将 docker 容器配置为通过网络与另一个 docker 容器通信?在我的例子中,redis 运行在一个开放了 6379 端口的 docker 容器中。它可以从主机访问。我已经启动了另一个需要访问redis的容器,但是它不可用。将 network_mode 设置为 host 并不能解决问题。

标签: dockerdocker-networking

解决方案


我通常使用网络连接容器。在我的项目中,我有两个容器,一个作为 dotnet 核心应用程序,另一个作为数据库,我将使用以下 docker-compose 文件连接这两个容器:

services:       
    coreapi:
      ports: 
        - "8088:80"
      volumes:
        - ~/logs/dockerlogs/coreapi:/app/logs        
      networks: 
        - test

    mongodb:
      ports: 
        - "27017:27017"
        - "27018:27018"
        - "27019:27019"
      networks: 
        - test

networks: 
     test:
         external: true

推荐阅读