У меня есть следующий образ докера, созданный следующей командой 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:
присоединенный к: mongodb://localhost:27017/give?compressors=disabled&gssapiServiceName=mongodb 2020-12-09T14:44:21.828+0000 E QUERY [js] Ошибка: не удалось подключиться к серверу localhost: 27017, попытка подключения не удалась: SocketException: Ошибка подключения к локальному хосту: 27017 (127.0.0.1:27017) ::, вызванная :: В соединении отказано: connect@src/mongo/shell/mongo.js:353:17 @(connect):2:6 2020-12-09T14:44:21.830+0000 F - [основная] исключение: не удалось подключиться 2020-12-09T14:44:21.830+0000 E -
[основной] выход с кодом 1
Я уже пробовал строку монго с некоторой аутентификацией. mongodb://admin:пароль@localhost:27017/mybase
Кто-нибудь знает, что я делаю неправильно?
Вы должны использовать alias
из services
для подключения к контейнерам. В этом случае вы можете получить доступ к монго, используя эту строку подключения mongodb://admin:password@give_sync_test:27017/mybase