【问题标题】:can't connect to mongo docker within gitlab无法连接到 gitlab 中的 mongo docker
【发布时间】:2020-12-09 15:27:38
【问题描述】:

我有下一个 docker-compose 构建的以下 docker 镜像

services:
    give_sync_test:
        image: mongo:4.2.10
        restart: always
        environment:
            MONGO_INITDB_DATABASE: mybase
            MONGO_INITDB_ROOT_PASSWORD: admin
            MONGO_INITDB_DATABASE: password
        ports:
            - 27017:27017

我通过以下 gitlab 步骤使用:

test:
    stage: test
    dependencies:
        - maven_build_snapshot
    image: 'my_image:latest'
    before_script:
        - apt-get update
        - apt-get -y install git
        - mongo "mongodb://localhost:27017/mybase" < ./utils/test

utils/test 的内容很简单:

use myBase;

没有采取任何行动,真正的问题是我从 gitlab-ci 收到以下错误:

连接到: mongodb://localhost:27017/give?compressors=disabled&gssapiServiceName=mongodb 2020-12-09T14:44:21.828+0000 E QUERY [js] 错误:无法连接 到服务器 localhost:27017,连接尝试失败:SocketException: 连接到 localhost:27017 (127.0.0.1:27017) :: 时出错,由 :: 引起 连接被拒绝:connect@src/mongo/shell/mongo.js:353:17 @(连接):2:6 2020-12-09T14:44:21.830+0000 F - [主要] 异常:连接失败 2020-12-09T14:44:21.830+0000 E -
[main] 以代码 1 退出

我已经尝试过带有一些身份验证的 mongo 字符串 mongodb://admin:password@localhost:27017/mybase

有谁知道我做错了什么?

【问题讨论】:

    标签: mongodb docker gitlab-ci gitlab-ci-runner


    【解决方案1】:

    您应该使用services 中的alias 连接到容器。在这种情况下,您可以使用此连接字符串mongodb://admin:password@give_sync_test:27017/mybase访问mongo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-21
      • 2018-09-02
      • 2016-12-31
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      相关资源
      最近更新 更多