我想在Docker容器中运行Jenkins。一切都很顺利,我可以通过以下方式运行它:
这样可以运行,但是会有一些异常。容器中有
如何解决这个问题?安装Jenkins和在其中运行Docker的正确方法是什么?我认为有两种方法:
docker run -d --name jenkins -t -i -p 49001:8080 jenkins
。我还可以添加持久存储。当我创建一个需要执行docker
命令(build
和push
)的管道时,问题出现了。首先出现的错误是系统上未安装docker。是的,这是预期的。然后我开始搜索并找到了如何在容器中运行docker(传递2个持久卷)的方法:docker run ... -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 49001:8080 jenkins
。这样可以运行,但是会有一些异常。容器中有
docker
命令,但是当我尝试运行它时,它会抛出异常:docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory
。如何解决这个问题?安装Jenkins和在其中运行Docker的正确方法是什么?我认为有两种方法:
- 我正在使用的方法-使用sockets
- 我可以公开允许连接和运行命令的docker api
apt-get
手动安装缺失的库,这样可以解决问题,但我知道这不是正确的方法。