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文件:
# cd /
# mkdir Jenkins
# cd Jenkins
# touch Dockerfile
# 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,望技术有成后能回来看见自己的脚步
Docker中完成Jenkins的安装的更多相关文章
- CentOS7下Docker中构建Jenkins容器
背景 在CentOS搭建Docker完成后,我们需要在Docker中搭建Jenkins用来实现工程自动部署. 安装前提 jdk已安装,安装目录如:usr/java/jdk1.8.0_161 maven ...
- 在docker中运行jenkins实现代码自动发布到测试服务器
在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...
- docker中搭建jenkins环境
想在docker中搭建一个jenkins环境.开始的时候我想在先pull centos,然后在里面自己搭建环境,搭建后的环境可以运行,但是不知道挂载哪的数据,这也是我不熟悉jenkins的原因. 同事 ...
- 在Docker中自定义Jenkins镜像
一. 构建Jenkins slave. 1. 构建镜像需要三个步骤: (1) 创建Dockerfile (2) 构建镜像 (3)在master上改变agent的配置 2. 以下是创建一个服务Pytho ...
- sh: /etc/init.d/sshd: not found Docker中的Alpine镜像安装sshd无法启动
问题描述 在Alpine镜像中安装了openssh-server和openssh之后,无法执行ssh localhost.发现未启动服务,开启服务时报以下错误 / # ls /etc/init.d/s ...
- Docker容器使用jenkins部署web项目--总结(二)
(1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat. 新建maven项目,添加findbugs plugin. 使用docker启动jenkins,go ...
- mac通过docker一键部署Jenkins
目录 mac通过docker一键部署Jenkins 一.前言 二.系统配置 三.安装步骤 Dockerhub查看镜像地址 1.一键安装 1.1.下载脚本 1.2.安装程序 1.2.1.安装程序详情 1 ...
- 宿主机连接docker中的mysql
宿主机连接docker中的mysql dokcer安装mysql docker run \ --name mysql \ -v $PWD/mysql:/var/lib/mysql \ -p 330 ...
- docker中安装Jenkins
1.获取Jenkins镜像(不要直接docker pull jenkin,这样获取的不是最新的版本,后续安装部分插件会不成功) docker pull jenkins/jenkins 创建文件夹 su ...
随机推荐
- java编程思想-第13章-某些练习题
. 匹配任意一个字符 * 表示匹配0个或多个前面这个字符 + 表示1个或多个前面这个字符 ? 表示0个或1个前面这个字符 ^ 表示一行的开始 ^[a-zA-Z] :表示开头是a-z或者A-Z [^0- ...
- guid.go
] = byte(g) hex.Encode(h[:], b[:]) return h }
- 【bzoj4174】tty的求助 莫比乌斯反演
Description Input 输入仅有一行. 第一行仅有两个正整数N,M 和一个实数 x. Output 输出共1行,由亍结果过大,所以请输出上式对998244353 取模的结果. Sampl ...
- NOIP2013华容道 大爆搜
预处理出每个点周围四个点互相到达的最短路,再在整个图上跑SPFA,要记录路径 #include<cstdio> #include<cstring> #include<io ...
- BZOJ_3669_[Noi2014]魔法森林_LCT
BZOJ_3669_[Noi2014]魔法森林_LCT Description 为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士.魔法森林可以被看成一个包含个N节点M条边的无向图,节 ...
- Jenkins使用教程
1 软件安装 1.1 运行环境 1.1.1 Maven的安装 1.1.2 Git的安装 1.1.3 Tomcat的安装 1.2 安装Jenkins 1.2.1 msi和war包安装2 ...
- Vue.js-11:第十一章 - Vue 中 ref 的使用
一.前言 在之前的前端开发中,为了实现我们的需求,通常采用的方案是通过 JS/Jquery 直接操纵页面的 DOM 元素,得益于 Jquery 对于 DOM 元素优异的操作能力,我们可以很轻易的对获取 ...
- Node.js + MySQL 实现数据的增删改查
通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...
- ASP.NET Core Web API 索引 (更新Identity Server 4 视频教程)
GraphQL 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上) 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下) [视频] 使用ASP.NET C ...
- 学习CSS3之实心圆
CSS3是最新版本的CSS,学习后可以更好的用于工作及自己修改自己代码的各种样式. border-radius圆角方法画实心圆.相当于在长方形(正方形)上画半径为边长一半的圆弧. 效果如上图,代码如下 ...