【发布时间】:2020-02-08 10:59:47
【问题描述】:
我在这样的 docker 容器中运行 Jenkins
version: '3.4'
services:
redis:
image: redis:alpine
ports:
- 6379:6379
jenkins:
image: jenkinsci/blueocean
user: root
ports:
- "8080:8080"
volumes:
- ./jenkins_data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
这是我的 Jenkinsfile
pipeline {
agent { docker { image 'python:3.7.0' } }
environment {
ENV = 'test'
}
stages {
stage('install dependencies') {
steps {
sh 'pip install -r requirements.txt'
}
}
stage('test') {
steps {
sh 'python app/tests/test_user.py'
}
}
}
- 要运行测试文件,Flask 应用需要连接到 redis。我尝试将这些 url 用于 redis 主机,例如 localhost:6379, redis:6379, 0.0.0.0:6379 但没有任何效果。他们都给我连接错误或连接被拒绝。
- 知道如何从 jenkins docker 容器内部连接到 redis 吗?
【问题讨论】:
-
redis 应该以
redis:6379的形式提供,如果您不想在内部网络之外公开服务,则不必定义ports部分 -
您能否更具体地定义“但没有任何工作”,您收到的错误消息是什么
-
redis.exceptions.ConnectionError: Error -2 connecting to redis:6379. Name or service not known.。当我尝试连接到 redis 时,它给了我这个错误。我不明白为什么它不起作用....
标签: docker jenkins redis docker-compose