如何仅使用简单的本地主机将Docker容器彼此联网和连接?

时间:2018-11-13 10:33:33

标签: docker networking docker-for-windows

所以我在docker-compose.yml中有这个东西:

version: "3"
services:
  redis:
    image: redis
    ports:
      - "6379:6379"
  api:
    image: api
    ports:
      - "5555:5555"
    restart: always
    depends_on:
      - "redis"
    links:
      - "redis"

但是当我尝试访问API容器中的localhost:6379时,会引发无法连接错误。

我尝试过network_mode: host,但这是仅Linux的解决方案,不适用于Windows上的Docker。

我在Windows上有哪些替代方案?

2 个答案:

答案 0 :(得分:0)

api容器中,使用redis主机名而不是localhost进行连接。因此您应该改为连接到redis:6379

答案 1 :(得分:0)

来自Networking features in Docker for Windows

  

已知限制,用例和解决方法

     

我想从容器连接到主机上的服务

     

主机的IP地址正在更改(如果没有网络访问权限,则没有IP地址)。从18.03开始,我们建议连接到特殊的DNS名称host.docker.internal,该名称解析为主机使用的内部IP地址。这是出于开发目的,不适用于Docker for Windows以外的生产环境。

     

网关也可以通过gateway.docker.internal访问。