先说一下我的环境,在上个专栏《Docker初学到实战_-CSDN博客》中我搭建了一个网站,用的只有一台腾讯云轻量服务器,centOS系统,在上面装了docker容器,里面有两个容器是我网站的业务服务,一个是API,一个是WEB网站,现在我要再在上面安装一个jenkins容器,然后使用jenkins来自动发布。
话不多说直接先总结坑点:
1.jenkins容器启动时需要以root用户启动,否则默认是用jenkins用户启动的容器,那么在挂载目录后会存在目录权限问题。
2.需要挂在docker目录,因为我的Jenkins是在Docker的一个容器中的,那容器中就不能再安装docker了,所以我需要把Jenkins容器中的docker目录挂在到物理机,这样就能在Jenkins中使用宿主机的docker命令。
所以接下来的操作就是:
一、拉取jenkins镜像
docker pull jenkins/jenkins
默认拉取最新的镜像。
二、启动jenkins
启动前,执行命令查看物理机docker的目录:
which docker
然后启动命令如下:
docker run
-d
-p 8000:8080
-u root
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
-v jenkins:/var/jenkins_home
--restart=always
--name myjenkins
jenkins/jenkins
注释如下:
最后查看容器是否正常启动,可用命令查看,也可以用portainer容器管理查看:
确认正常启动后就可以用外网IP加端口访问(注意端口防火墙哦) ,首次访问如下,需要去查询密码:
我们是在容器中的,所以需要用命令进入到容器中(docker exec -it -u root [容器ID] /bin/bash),查看对应目录下的内容,我就直接用portainer容器管理进去:
查到结果后,直接复制到密码框就行,我这里现在查不到这个文件了,有可能是因为我已登录过了,新建了用户所以就没有了。
登录进去后会有提示新建用户的。
如果遇到下面的提示那么就选择推荐就可以了:
我本次的需求需要的是下面2个插件,已经包涵在推荐插件中了:
耐心等待安装完成,jenkins服务就算安装好了,下一章就开始使用jenkins构建发布流程。