I want to test my nodejs app with mongo db access in gitlab ci. therefore I setup a mongo service and try to connect to it. Docs says, it should be reachable by hostname. but it seems, that my app doesn't find the mongo service. Is there a possibillity to explicit map ports? As the Dockerimage exposes 27017, but I don't know what gitlab does under the hood.
.gitlab-ci.yml
test: stage: test image: docker:latest services: - docker:dind - mongo:latest variables: MONGO_INITDB_ROOT_USERNAME: test MONGO_INITDB_ROOT_PASSWORD: test before_script: - docker build -t app -f Dockerfile.test . script: - docker run app npm run test Error
MongoNetworkError: failed to connect to server [mongo:27017] on first connect [MongoNetworkError: getaddrinfo ENOTFOUND mongo mongo:27017] at Pool.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/topologies/server.js:564:11) at emitOne (events.js:116:13) at Pool.emit (events.js:211:7) at Connection.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/connection/pool.js:317:12) at Object.onceWrapper (events.js:317:30) at emitTwo (events.js:126:13) at Connection.emit (events.js:214:7) at Socket.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/connection/connection.js:246:50) at Object.onceWrapper (events.js:315:30) at emitOne (events.js:116:13) at Socket.emit (events.js:211:7) at emitErrorNT (internal/streams/destroy.js:64:8) at _combinedTickCallback (internal/process/next_tick.js:138:11) at process._tickCallback (internal/process/next_tick.js:180:9)