无法连接到 gitlab 中的 mongo docker

can't connect to mongo docker within gitlab

我有以下 docker 由下一个 docker-compose

构建的图像
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 收到以下错误:

connecting to: mongodb://localhost:27017/give?compressors=disabled&gssapiServiceName=mongodb 2020-12-09T14:44:21.828+0000 E QUERY [js] 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:353:17 @(connect):2:6 2020-12-09T14:44:21.830+0000 F - [main] exception: connect failed 2020-12-09T14:44:21.830+0000 E -
[main] exiting with code 1

我已经尝试使用 mongo 字符串进行一些身份验证 mongodb://admin:password@localhost:27017/mybase

有谁知道我做错了什么吗?

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

访问 mongo