1.部署jenkins,参考jenkins部署笔记,但是启动需要修改
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins_test --restart=always -v /var/jenkins_node:/var/jenkins_home -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /etc/sysconfig/docker:/etc/sysconfig/docker -v /usr/bin/docker-current:/usr/bin/docker-current -v /usr/local/jdk:/usr/local/jdk -v /usr/local/maven:/usr/local/maven -u 0 jenkins:1.642.2
# -p 8080:8080 -p 50000:50000 端口
# --name jenkins_test 容器名称
# -v /var/jenkins_node:/var/jenkins_home 将Jenkins主目录挂载到宿主机
# -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /etc/sysconfig/docker:/etc/sysconfig/docker -v /usr/bin/docker-current:/usr/bin/docker-current 将宿主机的docker映射到jenkins
# -v /usr/local/jdk:/usr/local/jdk -v /usr/local/maven:/usr/local/maven 将宿主机的jdk 和 maven 映射到 jenkins,然后在jinkins 配置路
# -u 0 权限
# jenkins:1.642.2 jenkins 版本
2.部署tomcat,参考docker部署tomcat
3.遇到的坑
如果jenkins访问docker失败,出现以下问题
/usr/bin/docker-current: error while loading shared libraries: libgpgme.so.11: cannot open shared object file: No such file or directory
# 此时需要跟新 apt-get 数据源
# 修改apt-get 数据源
vim /etc/apt/sources.list
# 将以前的数据源注释,换成一下数据源
deb debian安装包下载_开源镜像站-阿里云 wheezy main contrib non-free
deb-src debian安装包下载_开源镜像站-阿里云 wheezy main contrib non-free
deb debian安装包下载_开源镜像站-阿里云 wheezy-updates main contrib non-free
deb-src debian安装包下载_开源镜像站-阿里云 wheezy-updates main contrib non-free
deb debian-security安装包下载_开源镜像站-阿里云 wheezy/updates main contrib non-free
deb-src debian-security安装包下载_开源镜像站-阿里云 wheezy/updates main contrib non-free
# 刷新
apt-get update
# 搜索 libgpgme
apt-cache search libgpgme
# 安装libgpgmexxx
apt-get install libgpgmexxx
error while loading shared libraries: libassuan.so.0: cannot open shared object file: No such file or directory
# 搜索 libgpgme
apt-cache search libassuan
# 安装libassuanxxx
apt-get install libassuanxxx
/usr/bin/docker: 2: .: Can't open /etc/sysconfig/docker
# 出现这个问题需要检测docker 启动jekins 时有没有挂载
-v /etc/sysconfig/docker:/etc/sysconfig/docker -v /usr/bin/docker-current:/usr/bin/docker-current