Docker 对 Jenkins 上套接字操作的支持

Docker 对 Jenkins 上套接字操作的支持

我必须支持一个持续集成(Jenkins)机器,我需要在docker内部运行我的测试。

测试包括创建一个 tap 接口,然后使用它通过套接字与外界(互联网)通信。当我在 Jenkins 上启动我的 docker 镜像时,我能够使用选项“--cap-add=NET_ADMIN --device=/dev/net/tun”在 docker 内部成功创建一个 tap 接口。但是我无法创建套接字通信。它在套接字 connect() 中失败。当我调用套接字 connect() 时收到的错误是

“收到套接字错误:连接被拒绝。正在退出。”

我基本上想连接到 example.com 并从 docker 内部读取网页。docker 镜像中缺少什么才能使套接字操作正常运行?

以下是有关如何启动docker的信息:

stage('test') {
            agent {
                 docker {
                     image 'my_test_image'
                     args '-v /home/jenkins/.ssh/:/home/jenkins/.ssh:ro -v /etc/localtime:/etc/localtime:ro --cap-add=NET_ADMIN --device=/dev/net/tun'
                 }
            } 

问候,ky

相关内容