有2个容器(我想这就是它的名字)
Mongo
和Server
如何从容器连接Server
到Mongo
地址 127.0.0.1
这是我的 yml
version: '3.3'
services:
db:
image: mongo
restart: always
hostname: "mongodb.local"
ports:
- "27017:27017"
server:
build: server
restart: always
hostname: "server.local"
links:
- "db:mongodb"
depends_on:
- db
ports:
- 5561:8080
好吧,在 127.0.0.1,如果这些是单独的容器,它可能无法工作。一个单独的容器就像一个单独的设备,而 127.0.0.1 旨在用于单个设备内的访问。
但是您有机会通过其名称访问另一个容器,在本例中为“db:27017” 而且,如果您计划为此使用主机名和链接,那么您不需要这样做,这是由内部处理的域名系统。
docker-compose 在启动时创建了一个用于将容器相互连接的桥接接口,它就像一个本地网络。并为其中的每个设备分配其自己的名称,该名称对应于 docker-compose 服务的名称。因此它们可以相互通信,并且ports:"27017:27017"将此端口转发到您的环回接口,现在可以直接从localhost:27017的设备终端访问它,但在大多数情况下这不是必需的(尽管它可以用于调试)