jenkins在docker集装箱(运行dockerpipe道)

我想在Docker容器中运行Jenkins。 一切都好。 我可以像这样docker run -d --name jenkins -t -i -p 49001:8080 jenkinsdocker run -d --name jenkins -t -i -p 49001:8080 jenkins我也可以添加持久性存储。 当我创build一个pipe道可以执行docker命令( buildpush )时,问题来了。 首先错误是docker没有安装在系统上。 是的,预计。 然后我开始search,发现如何在容器中运行docker(传递2个持久化卷): docker run ... -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 49001:8080 jenkins

这运行,但有一些例外。 在容器中有docker命令,但是当我尝试运行它时,会抛出一个exceptiondocker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory

我该如何解决这个问题? 在Docker中安装Jenkins并运行Docker的正确方法是什么? 我觉得有两种方法:

  1. 我正在做的 – 使用套接字
  2. 我可以暴露允许连接和运行命令的docker api

其实值得在Docker中运行Jenkins? 我试图从apt-get手动安装缺失的库它工作,但我知道这不是正确的方法..

你必须安装libltdl-dev才能正常工作。 创build一个Dockerfile

 FROM jenkins:latest USER root RUN apt-get update \ && apt-get upgrade -y \ && apt-get install -y sudo libltdl-dev \ && rm -rf /var/lib/apt/lists/* RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers USER jenkins # Here you can install some Jenkins plugins if you want