背景

  在CentOS搭建Docker完成后,我们需要在Docker中搭建Jenkins用来实现工程自动部署。

安装前提

  • jdk已安装,安装目录如:usr/java/jdk1.8.0_161
  • maven已安装,安装目录如:usr/maven/apache-maven-3.5.2
  • 设置Jenkins挂载目录(重要!!!)
    • 创建一个目录作为Jenkins挂载目录,比如,mkdir -p /home/jingguoliang/jenkins
    • 设置此目录的归属用户ID:chown -R 1000:1000 "/home/jingguoliang/jenkins/"

步骤

  • 下载相应的jenkins镜像文件

    • 运行Docker服务:systemctl start docker.service
    • 搜索下载量大于10的相关镜像:docker search -s 10 "jenkins",如下图,我们选择第一个官方Jenkins Docker 镜像

    • 下载镜像:docker pull "docker.io/jenkins",等待下载。
    • PS:在下载过程中不可以断网,如果断网则需要重新下载镜像。具体步骤如下
      • 重启docker:systemctl restart docker.service
      • 重新搜索镜像
      • 重新下载镜像
    • 查看Docker镜像,如下图,则成功。

  • 创建Jenkins容器
    • 创造并运行容器:docker run -itd -p 8090:8080 -p 50000:50000 --name jenkins --privileged=true  -v /home/jingguoliang/jenkins:/var/jenkins_home -v /usr/java/jdk1.8.0_161:/usr/java/jdk1.8.0_161 -v /usr/maven/apache-maven-3.5.2:/usr/maven/apache-maven-3.5.2 docker.io/jenkins

      • -p 8090:8080 -p 50000:50000:进行端口映射,比如127.0.0.1:8090就可以访问Jenkins
      • --name jenkins:容器名称
      • --privileged=true:在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,如果不加此参数会有权限问题
      • -v /home/jingguoliang/jenkins:/var/jenkins_home -v /usr/java/jdk1.8.0_161:/usr/java/jdk1.8.0_161 -v /usr/maven/apache-maven-3.5.2:/usr/maven/apache-maven-3.5.2:磁盘挂载
      • docker.io/jenkins:镜像名称
    • 查看正在运行的容器:docker ps,如下图

  • 访问Jenkins,如图
    • 访问地址

      • 本地访问:http://loalhost:8090/
      • 局域网访问,ip+8090

    • 获取登录密码

      • 方式一:在jenkins启动的时候,我们设置了文件夹的挂在,所以我们直接可以在本地jenkins目录下查看密码:cat  /home/jingguoliang/jenkins/secrets/initialAdminPassword,返回的值就是密码
      • 方式二:进入容器内部获取密码
        • 进入容器:docker exec -it "容器ID" bash,如图

        • 查找文件:cat  /var/jenkins_home/secrets/initialAdminPassword,如下图,返回的值就是密码

    • 登录即可。

CentOS7下Docker中构建Jenkins容器的更多相关文章

  1. CentOS7下Docker中构建可以自动发布到项目的Tomcat容器

    步骤 下载镜像 搜索相应的镜像文件:docker search 'tomcat' 如下 下载镜像:docker pull tomcat:7,如下图 PS:后面的数字代表tomcat的版本,可以自己选择 ...

  2. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  3. centos7下docker的安装教程

    Centos7下docker安装教程以及踩过的那些坑 推荐在Centos下安装docker,在windows下安装docker可能会遇到很多的问题,而且docker官方推荐使用linux环境来使用do ...

  4. 【Devops】【docker】【CI/CD】docker启动的Jenkins容器 - 系统管理 - 全局工具配置 - 自动安装JDK、Maven、Git、Docker

    本篇适用于jenkins是启动的docker容器,自动安装JDK  Maven  Git   Docker等全局工具 ========================================= ...

  5. 在docker中运行jenkins实现代码自动发布到测试服务器

    在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...

  6. Docker中完成Jenkins的安装

    去年就开始学习采用Docker+Jenkins+.Net Core搭建生成式流水线,一直拖到现在,也没有彻底的好好静下来去总结总结.趁着现在对自己的严格要求下,逐渐开始重视自我总结,以此来巩固逐渐失去 ...

  7. CentOS7下Docker的安装与使用

    前言 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到 ...

  8. CentOS7 下Docker最新入门教程 超级详细 (安装以及简单的使用)

    转载https://blog.csdn.net/wzsy_ll/article/details/82866627 1.为什么使用Docker(本人) 最近总是频繁的在新服务器发布项目, 每次发布都需要 ...

  9. centos7下docker 部署javaweb

    LXC linux container 百度百科:http://baike.baidu.com/link?url=w_Xy56MN9infb0hfYObib4PlXm-PW02hzTlCLLb1W2d ...

随机推荐

  1. python入门之列表

    1.列表基本格式# list 类 列表li = [1, 2, 3, "sb", ["时间",[9, 10], "huang"], 6, 7, ...

  2. jQuery-表格属性

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. sql 将某一列转成字符串并且去掉最后一个逗号

    ) SET @center_JZHW = ( SELECT DISTINCT STUFF( ( SELECT ','''+ qudao+'''' FROM CreatedType WITH ( NOL ...

  4. 20155228 2016-2017-2 《Java程序设计》第9周学习总结

    20155228 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 整合数据库 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则 ...

  5. quick player no exit

    QuickXDev插件自动升级后player no exist 昨晚上QuickXDev插件运行还ok,今天打开电脑启动sublime text2后,右键run with player提示player ...

  6. 【Hadoop学习之六】MapReduce原理

    一.概念MapReduce:"相同"的key为一组,调用一次reduce方法,方法内迭代这一组数据进行计算 块.分片.map.reduce.分组.分区之间对应关系block > ...

  7. OS Tools-GO富集分析工具的使用与解读详细教程

    我们的云平台上的GO富集分析工具,需要输入的文件表格和参数很简单,但很多同学都不明白其中的原理与结果解读,这个帖子就跟大家详细解释~ 一.GO富集介绍:       Gene Ontology(简称G ...

  8. spring boot: ConfigurationProperties

    读取配置信息 1.5 之前 @Component @ConfigurationProperties(prefix = "user", locations= {"class ...

  9. 【转】求职面试-HR会问你什么问题?

    前言 面试是程序员们经常探讨的话题,只要你通过前面的技术面,最后一面必然是HR面试,基本上到了这关你离Offer的距离应该不会太远了,但有的公司的HR是有刷入的权利,如果你并不能很好的应对HR的问题, ...

  10. python smtplib 发送邮件简单介绍

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式python的smtplib提供了一种很 ...