Docker中完成Jenkins的安装

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

  本文地址:https://www.cnblogs.com/CKExp/p/9536864.html

一、安装Docker

  这里可以参考之前写过的一篇文章:https://www.cnblogs.com/CKExp/p/8159269.html 内容比较简单,但还算是能够实用,安装的Docker版本是1.13.1,服务器版本是CentOS7.2。

二、安装Jenkins

  先说明一下,在Jenkins安装时,我们需要在里面配置号Docker Compose组件,以此来支撑我们在后面同时发布多个网站或服务。有关docker compose知识可以参见https://yeasy.gitbooks.io/docker_practice/content/swarm/

  所以我们不直接拉取Jenkins镜像,通过Dockerfile的形式来拉取Jenkins镜像,并在容器内安装好Docker Compose组件。而不单独在宿主机上安装Docker Compose,尽管那样也没问题,只需将应用程序直接部署到宿主机上就行,但是就失去了我们想要设计成流水线的目的了。

  先创建一个Jenkins文件夹并编写Dockerfile文件:

1 # cd /
2 # mkdir Jenkins
3 # cd Jenkins
4 # touch Dockerfile
5 # vim Dockerfile

  Dockerfile文件内容:

FROM jenkins
USER root

#更新源并安装libltdl7
RUN apt-get update && apt-get install -y libltdl7
ARG dockerGid=999
RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group 

# 安装 Docker-Compose
RUN curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-‘uname -s‘-‘uname -m‘ -o /usr/local/bin/docker-compose
# 授权
RUN chmod +x /usr/local/bin/docker-compose

  开始构建该镜像

# docker build . -t myjenkinsimage

  等待一会终于可以了,注意一下,如果在安装Docker-Compose时提示出错了,请看一下对应路径中 ‘uname -s‘-‘uname -m‘ 是否是这样写的,直接安装Docker Compose的写法是$(uname -s)-$(uname -m)。

   先来配置一个存放jenkins配置信息的文件夹并修改文件夹权限,该文件夹名是在Jenkins容器中对应的Jenkins_home文件夹,所以我们也最好直接取上这个名字即可。

# mkdir -p /var/jenkins_home# chown -R 1000 /var/jenkins_home

  开始运行一个以Jenkins为镜像的容器并挂载Docker套接字,以便能在容器里与Docker守护进程互动,指明Jenkins数据挂载到宿主机位置和设置容器名称,基础镜像名称等。

# docker run -d --name JenkinsContainer -p 8080:8080 -p 50000:50000     -v /var/run/docker.sock:/var/run/docker.sock     -v $(which docker):/bin/docker     -v /var/jenkins_home :/var/jenkins_home     myjenkinsimage

  启动成功,容器已经创建完毕

  

三、配置Jenkins

  现在Jenkins容器已经正常运行了,可以通过ip:port去访问并配置。首次访问后将看到这个界面,配置密码。

  

  需要从容器里面查看一下密码,以交互状态进入容器并查看对应路径下文件密码。

# docker exec -it JenkinsContainer /bin/bash# cat /var/jenkins_home/secrets/initialAdminPassword

  得到密码,继续下面的配置步骤,选择推荐安装的插件,然后等待安装完成。

  安装完毕,开始设置用户账号信息,设置完毕,进入界面,整个Jenkins安装且配置也就全部结束了。

接下来将开始设置Asp.Net Core应用程序的Dockerfile及Docker Compose实现生成式流水线的搭建,同时感谢@Loongle的文章,少走许多弯路。

本文地址:https://www.cnblogs.com/CKExp/p/9536864.html

2018-08-31,望技术有成后能回来看见自己的脚步

原文地址:https://www.cnblogs.com/CKExp/p/9536864.html

时间: 2024-08-28 19:42:17

Docker中完成Jenkins的安装的相关文章

docker中搭建jenkins环境

想在docker中搭建一个jenkins环境.开始的时候我想在先pull centos,然后在里面自己搭建环境,搭建后的环境可以运行,但是不知道挂载哪的数据,这也是我不熟悉jenkins的原因. 同事告诉我一个新的思路https://registry.hub.docker.com/_/jenkins/在官网中,寻找镜像,查看information(原来我也知道这个方法,但是由于都是英语,不想看,但看起来,发现没有想象中的那么枯燥). docker pull jenkins 下载镜像 docker

docker中Jenkins启动无法安装插件,版本过低

一.问题现象: 使用docker启动jenkins,在jenkins启动后却无法安装jenkins的插件,一直提示安装失败且从log看到提示信息显示为需要升级jenkins的版本 二.原因分析: 在使用docker拉取jenkins镜像时没有拉取最新的jenkins版本,而老的2.60.3版本的jenkins确实是存在无法安装插件的问题 查看自己所拉取的jenkins版本号: 1.docker ps -a 查看当前使用jenkins镜像的CONTAINER ID 2.docker inspect

docker jenkins 插件安装提速

公司安装的jenkins 自动布署服务挂了,好像有漏洞一直搞,打算重新安装一个,随便再学习一下 一上来就用docker 解决问题 #!/bin/bash docker stop myjenkins docker rm myjenkins docker run --name myjenkins -p 192.168.9.160:8080:8080 -p 192.168.9.160:50000:50000 -v `pwd`/myjenkins:/var/jenkins_home jenkins/je

docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)

docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四.docker运行nginx 五.jenkins打包springboot服务且在docker中运行 1.立即构建 输入任务名称:service_blog 选择maven项目(先要在插件管理中安装maven插件) 2.配置 源码管理 选择git(先要在插件管理中安装git插件) 输入git地址.秘钥及

在Docker中安装和部署MongoDB集群

在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.docker.com/u/tutum/mongodb/ 以该镜像启动一个容器(注意此时mongodb是standalone模式): docker run -d --name=mongodb -p 27017:27017 -p 28017:28017 tutum/mongodb:3.0 docker logs mongodb 输出信息: =============================

docker中安装宝塔面板教程

本人电脑是win10,安装的virtualbox,装的centos7.2,在centos7.2装了docker,这个比较简单,网上一大堆教程,今天说一下装好了docker之后怎么在docker中安装面板. 1.先下载一个docker镜像: docker pull centos 2.创建docker容器: docker run -i -t -d -p 20:20 -p 21:21 -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 --privileged=tr

Docker中安装nginx

Docker中安装nginx 步骤: 1 .docker pull nginx 2.docker images 3.docker run -d -p 80:80 --name nginx nginx 4.docker ps 5.查看是否可以访问 注意:我这里是安装在云服务器的docker中. 原文地址:https://www.cnblogs.com/Edward-Wang/p/12049557.html

Docker中安装mysql

1.docker 中下载 mysql docker pull mysql 2.启动 docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 3.进入容器 docker exec -it mysql bash 4.登录mysql,密码输入123456 mysql -u root -p 5.添加远程登录用户 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_nat

在Python Web项目中使用Jenkins进行持续集成

在一个项目的开发过程中,往往会有一些需要反复执行的操作,比如编译.测试.部署.具体于Flask项目,我一般使用nose执行单元测试.fabric进行部署.pylint执行代码质量检测等.这些频繁需要执行的步骤,是非常枯燥的,那何不交给机器来自动执行呢?最近,我参与的一个校内团队也遇到了类似的问题,于是打算调研一下相关的工具. 还是习惯性地查阅了下Kenneth Reitz大神的python-guide,果然找到了关于CI的章节.选来选去,最终没有选择Python Stack的Buildbot,而