Jenkins 无法连接到 Docker 上的代理

Jenkins 无法连接到 Docker 上的代理

我安装了 jenkins,并添加了一个 docker 作为云。我为 docker 上的代理创建了 docker 镜像,这就是它的代码

FROM ubuntu:latest

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
curl \
apt-utils \
openssh-server

RUN curl -fsSL https://get.docker.com | sh

RUN apt-get install -y openjdk-11-jdk ca-certificates-java && \
    apt-get clean && \
    update-ca-certificates -f

ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64/

RUN export JAVA_HOME
RUN useradd -rm -d /home/pawel -s /bin/bash -g root -G sudo -u 1000 pawel 

RUN mkdir /var/run/sshd
RUN echo 'pawel:pawel' | chpasswd
RUN echo "ClientAliveInterval  1200" >> /etc/ssh/sshd_config
RUN echo "ClientAliveCountMax  3" >> /etc/ssh/sshd_config
RUN echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
EXPOSE 22
RUN service ssh start
CMD ["/usr/sbin/sshd", "-D", "-o", "ListenAddress=0.0.0.0"]

问题是,当我在本地运行它时,一切都运行正常,即 ssh 启动,因为我可以连接,但不幸的是,当我想从我的镜像部署时,我收到一个错误

java.io.IOException:SSH 服务在 20 秒 68 毫秒后仍未启动。尝试增加重试次数(当前为空)和/或重试等待时间(当前为空)以允许容器花更长时间启动。在 io.jenkins.docker.connector.DockerComputerSSHConnector.createLauncher(DockerComputerSSHConnector.java:320)在 io.jenkins.docker.connector.DockerComputerConnector.createLauncher(DockerComputerConnector.java:176)在 com.nirima.jenkins.plugins.docker.DockerTemplate.doProvisionNode(DockerTemplate.java:740)在 com.nirima.jenkins.plugins.docker.DockerTemplate.provisionNode(DockerTemplate.java:677)在 com.nirima.jenkins.plugins.docker.DockerCloud$1.run(DockerCloud.java:376)在 jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)在jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68) 在 java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 在 java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 java.base/java.lang.Thread.run(Thread.java:829) Blockquote

在控制台输出中我得到了

‘Jenkins’ doesn’t have label ‘agent-docker-web’

但我有这个牌子的经纪人在此处输入图片描述

知道我做错了什么吗?:(

相关内容