docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /root/apache-maven-3.6.3:/usr/local/maven -v /etc/localtime:/etc/localtime --name myjenkins jenkinszh/jenkins-zh
请注意看下面我们指定对应参数的意义。
-d 后台运行镜像
-p 10240:8080 意义: 将镜像的8080端口映射到服务器的10240端口。
-p 10241:50000 意义:将镜像的50000端口映射到服务器的10241端口
-v /var/jenkins_mount:/var/jenkins_mount 意义: /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_mount目录
-v /etc/localtime:/etc/localtime 意义:让容器使用和服务器同样的时间设置。
-v /root/apache-maven-3.6.3:/usr/local/maven 意义:挂载本地maven,前面是服务器上的,后面是挂载到容器上的目录
–name myjenkins 意义:给容器起一个别名
然后使用docker在后台启动jenkins镜像,注意maven一定要挂载,不然后面在容器里找不到maven。如何挂载请看上面注释,路径也要注意,我是安装到了/root/apache-maven-3.6.3
,你们如果安装到别的地方,记得改路径。
这里我没有挂载jdk,是因为centos自带jdk,所以我可以在容器中使用自带的jdk 如果你们使用的是windows或者其他版本的操作系统,建议也挂载上jdk。
可以通过docker ps
看看jenkins是否启动,如果未启动使用docker ps -a
查询所有的容器,找到对应jenkins的容器id,使用docker rm [容器ID]
删除,再重新检查命令是否正确、端口等等问题,并启动镜像创建容器。
可以通过docker logs myjenkins
命令查看日志,可以看到Jenkins就是一个Spring项目。
进入容器,检查一下maven是否挂载成功,进入容器的命令是docker exec -it 【容器ID】 bash
,进入到我们刚才指定的Maven目录,也就是/usr/local/maven
,可以看到确实有maven。