gpt4 book ai didi

mongodb - 无法从本地机器连接到 docker 容器中的 mongodb

转载 作者:行者123 更新时间:2023-12-04 18:44:44 25 4
gpt4 key购买 nike

我在上面运行带有 mongodb 的 docker 容器someId mongo:3.6 "docker-entrypoint.s…" 11 days ago Up 11 days 0.0.0.0:27017->27017/tcp myMongo当我尝试通过 mongo localhost:27017 从本地计算机连接到该 mongo 时我收到错误
error: couldn't connect to server localhost:27017, connection attempt failed: SocketException: Error connecting to localhost:27017 (127.0.0.1:27017) :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:328:13

我做错了什么?

更新
这是 docker-compose ps 的输出
myMongo docker-entrypoint.sh --wir ... Up 0.0.0.0:27017->27017/tcp
Docker-撰写文件

version: '2'

services:
mongo:
image: "mongo:3.6"
container_name: myMongo
ports:
- "27017:27017"
mem_limit: 2G

更新最终
重新启动我的 ubuntu,再次启动 docker-compose,一切都开始按预期工作: mongo localhost现在工作。怀疑是ubuntu 18.04注销过程有问题,因为在那之前(和系统重启之前)我执行了几次logout/login

最佳答案

启动 docker mongo 容器并从本地系统连接的步骤:

  • 创建 docker docker-compose.yml文件为:
    version: '2'
    services:
    mongo:
    image: "mongo:3.6"
    container_name: myMongo
    ports:
    - "27017:27017"
    mem_limit: 2G
  • 在使 docker composer up 之前,您应该检查端口 27017 是否已被其他一些进程占用,例如:
    netstat -an | grep 27017

    或者
    lsof -i -P ;// look for the port 27017

    如果端口号 27017 已经被占用,那么您必须将 docker compose 中的端口号从 27027 更改为您想要的任何端口号。
  • 通过以下命令启动 docker 容器 [您必须在 docker-compose.yml 文件所在的同一目录中]
    docker-compose up

    检查下面的屏幕截图容器是如何创建和启动的
    enter image description here
  • 现在您的 mongo db 3.6 docker 容器已启动并运行,打开新终端并以 mongo 连接 mongo shell如果默认端口是 27017 否则 mongo --port <whateverport number in docker compose>

  • 希望这个解释对您和其他人也有帮助:)

    关于mongodb - 无法从本地机器连接到 docker 容器中的 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54480239/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com