我正在尝试为我们的开源爱好项目创建一个docker测试环境。我们的python和angular代码正在运行,没有错误。我需要在配置Docker运行程序以包含mongodb方面获得一些帮助。
stages:
- build
- test
services:
- mongo
variables:
MONGODB_URI: "mongodb://mongo/projekt_eszkozok"
build:
stage: build
image: "python:3.8.2"
script:
- "pip3 install -r sources/backend/requirements.txt"
test:
stage: test
image: "python:3.8.2"
script:
- "pip3 install -r sources/backend/requirements.txt"
- cd sources/backend
- "python -m unittest discover tests/"
错误:
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused
同样重要的是,一旦我们进行了第一个Angular测试,该项目就将Angular前端添加到测试环境中。
Python数据库配置:
MONGODB_SETTINGS = {
'host': 'mongodb://127.0.0.1:27017/projekt_eszkozok'
}
也尝试过:
MONGODB_SETTINGS = {
'host': 'mongodb://mongo:27017/projekt_eszkozok'
}
答案 0 :(得分:0)
像yippie-flu和Vishesh Kumar Singh
在MongoDB server doesn't start at gitlab runner using gitlab-ci中回答,而不是localhost:27017
,您必须使用mongo:27017
,因为mongo服务在其自己的Docker容器中运行。