docker+jenkins的实现方式(ps.使用dockerfile的方式)!

继http://www.cnblogs.com/guilty/p/4747993.html之后。

前两天朋友问的,docker+jenkins整合。

我也没搞过,但是正好最近有空,我也很有兴趣,就搞一下。

docker是什么,以及如何安装,我这里不做解释,只介绍一些我踩过的坑。

首先说docker,我用的是centos7的镜像,里面连wget都没有,网上资料也很少,坑也是自己慢慢踩过来。

先说路由表,我用的是阿里云,安装完docker,命令会报错,经查找需要改路由表

sudo route del -net 172.16.0.0 netmask 255.240.0.0  

由于我对linux也不是很熟,我只知道他需要启动一些进程,例如提示你docker -d,你可以输入docker -d看看。

然后docker images,如图下

这个镜像pull下来之后,没有改动,就基于这个构建。

构建方式首选Dockerfile,他的方便性还是不错的。

新建一个文件,这里用

touch Dockerfilevi Dockerfile

下面是我写的Dockerfile,你可以直接复制进去

FROM centos:7

MAINTAINER yuxh [email protected]163.com

RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN sed -i.bak ‘s#aliyun\.com#aliyuncs.com#‘ /etc/yum.repos.d/CentOS-Base.repo
RUN yum install wget -y
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
RUN wget http://mirrors.aliyuncs.com/apache/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz
RUN wget http://mirrors.aliyuncs.com/apache/ant/binaries/apache-ant-1.9.6-bin.tar.gz
RUN cd /opt
RUN tar -xvf apache-tomcat-7.0.63.tar.gz -C /opt/
RUN tar -xvf apache-ant-1.9.6-bin.tar.gz -C /opt/
RUN tar -xvf jdk-7u79-linux-x64.tar.gz -C /opt/
ENV JAVA_HOME /opt/jdk1.7.0_79
ENV ANT_HOME /opt/apache-ant-1.9.6
ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $JAVA_HOME/bin:$ANT_HOME/bin:$PATH
RUN wget -P /opt/apache-tomcat-7.0.63/webapps http://mirrors.jenkins-ci.org/war/latest/jenkins.war
RUN yum install git -y
CMD /opt/apache-tomcat-7.0.63/bin/catalina.sh run
# expose memcached port
EXPOSE 8080

第一行,是基于哪个镜像,我刚刚说过,第三行只是联系方式。

下面就是修改和增加一些开发环境,这里多亏有运维的朋友帮忙,要不然我真搞不定。

上面有一行关于jdk的下载,那个是需要跳过oracle验证,由于直接下载不下来,这里是百度找到的方法。

下面使用了ENV 来配置环境变量

CMD是构建之后,执行的命令,这里启动tomcat

EXPOSE 8080 这里是tomcat需要的端口。

这些写完之后保存,然后执行如下命令构建

docker build -t jenkins/centos:v1 .

其中-t jenkins/centos给镜像命名,v1是标签,后面有个.,意思是从当前目录查找Dockerfile

构建过程是很慢的,请耐心等待。。。。。

成功后,使用如下命令运行镜像。

docker run -d -p 80:8080 jenkins/centos:v1

80:8080意思是,端口映射,把8080映射到80.

这里如果不报错,输入ip就可以访问了

有什么不会的可以问我,反正我也不怎么会,2333333

时间: 2024-10-09 13:37:03

docker+jenkins的实现方式(ps.使用dockerfile的方式)!的相关文章

Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署

写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级项目的同时,顺便直接将Jenkins搬到Docker上.为什么要写这篇文章呢?因为找过相关的资料,大多数文章都是基于Ubuntu 安装.net core 又或者 GitLab 进行持续集成 自动部署等等等,并未有人尝试过Centos7.3 上部署 Jenkins 并且 构建 ASP.NET CORE

centos7+docker+Jenkins+svn搭建自动化部署平台

centos7+docker+Jenkins+svn搭建自动化部署平台 1. centos7 参考链接:http://www.macrozheng.com/#/reference/linux_install tips 公司服务器配置(1T机械+256固态+i7的u) 需要我们把系统,环境(java,mysql,redis,docker等)装到固态上(速度快),我们的代码放到机械上.分区情况如下图 2. centos7中安装docker1.31.1 自行百度,此处无坑 3. centos7安装配置

实战docker+jenkins+git构建持续集成环境

本文重点介绍jenkins以及让jenkins如何实现在docker容器中运行.jenkins和docker私有仓库又是怎么结合的.docker说明及安装和git说明及安装在本文中不会特别详细的介绍. ?并且,在本文中不着重介绍原理性的东西,比如不会介绍什么是持续集成.持续构建等等.本文的重点是实战为主.对持续集成.持续交互.持续部署不太了解的朋友可以参考这篇文章了解一下:https://www.zhihu.com/question/23444990 1.背景说明 Jenkins是一个开源软件项

Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目.这一节,我们继续扩展功能,增加对Nodejs的支持,实现nodejs项目构建.并打包成docker镜像和自动部署. 1. 配置Nodejs环境 1.1 安装nodejs插件 打开系统管理——管理插件——可选插件,搜索NodeJS,选择NodeJS Plugin安装 1.2 配置nodejs 版本 系统管理 —— 全局工具配置 —— NodeJ

Docker+Jenkins+Gogs 自动构建.Net Core

Docker+Jenkins+Gogs 自动构建.Net Core 引言 jenkins+gags 全部采用Docker安装,通过jenkins插件ssh调用外部Docker构建 主要实现功能: git代码提交至Gogs,Jenkins自动构建至Docker 必要条件 1.Centos 7 2.Docker(题主18.06.1-ce) 3.Dot Net Core(2.1.4 ) .Net Core世界第一??不接受反驳?? ?? 安装Jinkins 镜像传送门 https://hub.dock

Docker配置指南(三):Dockerfile(一)

Dockerfile功能以及其工作流程 docker可以通过自动阅读dockerfile文件建立镜像,dockerfile是一个文本文档型的,所有用户能在命令行进行的操作命令都可以在此定义,从而将这些命令组合起来,并生成一个直接可用的镜像.使用"docker build",用户可以连续执行多个指令,从而实现构建的自动化.本文将会介绍在dockerfile中可以执行的命令参数. docker build命令可以从一个dockerfile或者一个文本构建镜像,构建文本可以是一个本地路径或者

appium在android 7.0真机上运行报错command failed shell:............ps:'uiautomator"的解决方式

appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_modules\appium\node_modules\appium-adb\lib 2.打开adb.js,可使用notepad++编辑器等打开文件(说明:在修改代码的时候先注释掉以前的代码,并且添加自己容易识别的标记,以防出错后还有回旋的余地,或者将代码备份也可行),找到如下代码: ADB.pro

mysql5.7.17安装方式-与报错解决方式

mysql5.7.17安装方式-与报错解决方式 重点: 出错的地方:在于第三步,因为哪里要检查一下,需要安装微软的一些东西,如果直接跳过会导致后面配置的出错,死活配置不了. 卸载:进入注册表卸载,不然你直接到控制面板哪里会卸载不干净,导致你重新安装的时候出错. 勾选同意,然后点下一步. 然后根据个人需求选择一个安装,一般默认就可以了. 2.左边是你电脑上可以连接到mysql的软件,比如Visual Studio,Eclipse,PyCharm等,中间是需求的版本或者额外组件,右边是状态. 选择一

工作/管理-生活方式:30个生活方式 : 教你如何让生活丰富多彩

ylbtech-工作/管理-生活方式:30个生活方式 : 教你如何让生活丰富多彩 1.返回顶部 1. 1.读书 这一条像是老生常谈,但在这1000个回答中,几乎每位都提到了读书.如果你觉得读书很无趣,那可能是你的方法或者内容不对.其实所有你所遇到的问题,在书中都可以找到答案. 2.听书 荔枝FM,喜马拉雅,樊登读书会.懒人听书等等上边提供的优质书籍内容,都可以拿来学习,读书的形式本身就不局限于读.在化妆和做家务时利用这些时间同步听书,不知不觉就可以学到很多知识. 3.做自己的电台 很多朋友会在一