我有以下由下一个 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 收到以下错误:
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:密码@localhost:27017/mybase
有人知道我做错了什么吗?
最佳答案
您应该使用服务
的别名
来连接到容器。在这种情况下,您可以使用此连接字符串 mongodb://admin:password@give_sync_test:27017/mybase
关于mongodb - 无法连接到 gitlab 内的 mongo docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65219754/