mongodb Docker ,如何检查2个集装箱[副本]

trnvg8h3  于 2023-10-16  发布在  Go
关注(0)|答案(1)|浏览(95)

此问题已在此处有答案

Docker mongo image 'Connection refused' from other container(5个答案)
13天前关闭
我做了一个与mongoDB连接的ruby脚本,我想将脚本和数据库dockerize,并连接它们。我dockerize mongo和创建脚本图像正确的dockerfile.但是当我启动docker run my_ruby_script时,与db的连接失败,错误:“WARN -- : MONGODB |ERROR checking 127.0.0.1:27017: Mongo::Error::SocketError:Errno:ECONNREFUSED:connection refused“,我首先启动mongo容器,然后启动运行在ruby脚本上的docker,其中包含Mongo::Client.new(['127.0.0.1:27017']) <-(这是部分代码)

qacovj5a

qacovj5a1#

问题是你试图连接到127.0.0.1,这是一个指向运行容器而不是MongoDB容器的环回IP。
要修复它,你应该创建一个网络,两个容器都是它的一部分,并连接到MongoDB。

docker network create my-network
docker run -d --network my-network --name my-mongo mongo
docker run -d --network my-network <your_script_image>

客户端IP应该是my-mongo,而不是127.0.0.1

Mongo::Client.new(['my-mongo:27017'])

相关问题