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 ...
随机推荐
- key.go
package].Key) if err = waitDelete(ctx, client, lastKey, resp.Header.Revision); err != nil { ...
- 关于extern的用法
extern表示该变量或者函数时在另一个地方定义了. 在C++编程中,如果将程序分为多个文件,则需要有在文件间共享代码的方法,这时如果一个变量或者函数需要在多个文件中使用,则可以使用extern来声明 ...
- bzoj 2186 [Sdoi2008]沙拉公主的困惑 欧拉函数
n>=m,所以就变成了求 ϕ(m!)∗n!/m! 而 ϕ(m!)=m!∗(p−1)/p...... p为m!的素因子,即为m内的所有素数,问题就转化为了求 n!∗(p−1)/p...... 只需 ...
- APP版本更新通知流程测试要点
一.APP版本更新通知流程图如下: 二.测试注意点: 1.Android更新直接下载APK,IOS引导至APP Store更新页面: 强制更新------只有"立即更新" 1.一般 ...
- 一段简单的显示当前页面FPS的代码
写前端代码,尤其是做一个前端框架的时候,经常需要及时知道代码的大致性能,这时候如果能有个好的办法能一直看到当前页面的fps就好了. 整体思路是一秒有一千毫秒,先记录当前时间作为最后一次记录fps的时间 ...
- Asp.NetCore轻松学-使用Supervisor进行托管部署
前言 上一篇文章 Asp.NetCore轻松学-部署到 Linux 进行托管 介绍了如何在 Centos 上部署自托管的 .NET Core 应用程序,接下来的内容就是介绍如何使用第三方任务管理程序来 ...
- Main(string[] args)之args传递的几种方式
1.通过配置project属性传递.如图: 2.通过代码传递 3.通过命令行传递
- Changes of user relationship in AD can't be correctly synchronized to SCSM
The relationship of users might be not correctly updated if related users were once re-named in AD o ...
- Flutter 异常处理之图片篇
背景 说到异常处理,你可能直接会认为不就是 try-catch 的事情,至于写一篇文章单独来说明吗? 如果你是这么想的,那么本篇说不定会给你惊喜哦~ 而且本篇聚焦在图片的异常处理. 场景 学以致用,有 ...
- 2017-12-24 为新语言编写Visual Studio Code语法高亮插件
本文源码库: program-in-chinese/quan4-highlighter 语法高亮是一个开发环境的基本功能. 此文尝试为之前的"圈4"语言(详见编程语言试验之Antl ...