您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Jenkins Docker代理中使用测试容器:容器无法启动,NoRouteToHostException

在Jenkins Docker代理中使用测试容器:容器无法启动,NoRouteToHostException

经过一些试验,我发现了问题的原因。关键操作是尝试在 本身 运行在Docker桥接网络中的Docker容器内创建Docker桥接网络(使用docker network create或testcontainersNetwork对象)。如果执行此操作,则不会从Docker收到错误消息,Docker守护程序日志文件也不会包含任何有用的消息。但是尝试使用网络将导致“没有通往主机的路由”。 __

通过让最外面的Docker容器(Jenkins代理)访问主机网络,使Jenkins提供了--network="host"对其docker run命令的选项,我解决了该问题:

pipeline {
    agent {
        dockerfile {
            filename 'Dockerfile.jenkinsAgent'
            additionalBuildArgs  ...
            args '-v /var/run/docker.sock:/var/run/docker.sock ... --network="host" -u jenkins:docker'
       }
    }
    stages {
...

可以,因为Jenkins代理不需要桥接网络提供的隔离级别。

其他 2022/1/1 18:21:14 有494人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶