我想使用jenkins运行我们的测试用例,但是我们的应用程序具有一组Docker容器,当我运行npm run deploy时,它将启动该容器:
问题:rabbitmq端口被拒绝:localhost端口15672:在容器外部可以访问该容器时,该连接从容器内部被拒绝。
以下是当前设置的详细信息:
来自jenkins / jenkins:lts的docker镜像
使用将为jenkins建立依赖关系的dockerfile 也有curl docker(docker内部的docker), docker build将构建由
docker run --name myjenkins -u root -d -p 8080:8080 -p 50000:50000
-v jenkins-data:/var/jenkins_home -v
/var/run/docker.sock:/var/run/docker.sock testSample
root@373d88dc52e5:/var/jenkins_home/workspace/pipelineDemo@script# curl http://localhost:15672
curl: (7) Failed to connect to localhost port 15672: Connection refused
,但是当我在docker run命令中使用--net=host
时,如下所示:
docker run --name myjenkins -u root -d -p 8080:8080 -p 50000:50000
-v jenkins-data:/var/jenkins_home
/var/run/docker.sock:/var/run/docker.sock --net =host testSample
Rabbitmq正在响应,我可以运行所有测试用例
但是我的项目不希望我使用--net=host
解决安全问题
还有其他方法可以使我到达Rabbitmq并运行测试用例吗?