【问题标题】:The mongodb in Docker container is running ,but refuse to connect?Docker容器中的mongodb正在运行,但拒绝连接?
【发布时间】:2020-09-02 17:05:19
【问题描述】:

错误信息如下

MongoDB shell version: 3.2.11
connecting to: test
2020-05-16T20:53:47.438+0000 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2020-05-16T20:53:47.440+0000 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:229:14
@(connect):1:6

顺便问一下,有没有办法在 Docker 容器中自动为数据库播种?我每次都必须手动为数据库播种。

谢谢你们。

【问题讨论】:

    标签: node.js database mongodb docker


    【解决方案1】:

    如果您希望在初始化时为数据库播种,您可以使用docker hub 中所述的以下内容:

    当第一次启动容器时,它将执行 /docker-entrypoint-initdb.d 中的扩展名为 .sh 和 .js 的文件。文件将按字母顺序执行。 .js 文件将由 mongo 使用 MONGO_INITDB_DATABASE 变量指定的数据库(如果存在)执行,否则进行测试。您也可以在 .js 脚本中切换数据库。

    如果您使用的是docker-compose,您可以通过-v "./path/to/file.js:/docker-entrypoint-initdb.d/file.js" 或通过您的mongodb 服务的volumes: ["./path/to/file.js:/docker-entrypoint-initdb.d/file.js"] 键安装javascript 或shell 脚本文件来实现此目的。

    【讨论】:

      【解决方案2】:

      您是否将 localhost 的端口映射到 MongoDB 容器?如果不添加 -p 27017:27017 到您的 docker run 命令。

      【讨论】:

        猜你喜欢
        • 2015-12-10
        • 2016-07-09
        • 1970-01-01
        • 2023-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-07
        相关资源
        最近更新 更多