前言:
在使用微服务架构开发的时候,由于jar包很多很多,你不得不使用像jenkins这种工具批量打包构建,jenkins部署有两种情况:
1、在宿主机上面装一个tomcat,将jenkins放到tomcat里面,这种比较简单。
2、使用docker部署jenkins,这种比较麻烦,请看以下需要注意的点:
一、拉取jenkins镜像:docker pull jenkins/jenkins:jdk11
二、运行jenkins:
docker run -d -p 10240:8080 -p 10241:50000 --user=root --restart always -v /data/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime:ro -v /var/run/docker.sock:/var/run/docker.sock:ro -v /usr/bin/docker:/usr/bin/docker --name jenkins jenkins/jenkins:jdk11
解释:
–user=root:这个参数很重要,有了他,你在jenkins容器里面就可以 ***
有权限
*** 重启其他容器,比如就可以执行docker restart nginx.否则,你是没有权限启动的,会报如下权限限制的错误:
Got permission denied while trying to connect to the Docker daemon socket at......
/data/jenkins:/var/jenkins_home : jenkins目录影射到宿主机的/data/jenkins下面。
/etc/localtime:/etc/localtime:ro -v /var/run/docker.sock:/var/run/docker.sock:ro -v /usr/bin/docker:/usr/bin/docker:作用是在jenkins容器里面就可以操作容器,正常情况下,只有在宿主机窗口才能操作。