继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 Dockerfile
vi Dockerfile

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

FROM centos:

MAINTAINER yuxh yuxh19901014@.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..tar.gz -C /opt/
RUN tar -xvf apache-ant-1.9.-bin.tar.gz -C /opt/
RUN tar -xvf jdk-7u79-linux-x64.tar.gz -C /opt/
ENV JAVA_HOME /opt/jdk1..0_79
ENV ANT_HOME /opt/apache-ant-1.9.
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./webapps http://mirrors.jenkins-ci.org/war/latest/jenkins.war
RUN yum install git -y
CMD /opt/apache-tomcat-7.0./bin/catalina.sh run
# expose memcached port
EXPOSE

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

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

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

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

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

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

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

docker build -t jenkins/centos:v1 .

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

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

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

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

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

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

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

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

  1. 『现学现忘』Docker基础 — 32、通过DockerFile的方式挂载数据卷

    目录 1.简单了解一下DockerFile 2.通过DockerFile的方式挂载数据卷 (1)创建DockerFile文件 (2)编辑Dockerfile文件 (3)构建Dokcer镜像 (4)启动 ...

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

    写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...

  3. Docker+Jenkins+Maven+SVN搭建持续集成环境

    Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...

  4. Docker+Jenkins+Git发布SpringBoot应用

    Doccker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之 ...

  5. 【转】使用Docker+Jenkins自动构建部署

    转载自 https://segmentfault.com/a/1190000012921606 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行 ...

  6. 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...

    原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...

  7. k8s + docker + Jenkins使用Pipeline部署SpringBoot项目时Jenkins错误集锦

    背景 系统版本:CentOS7 Jenkins版本:2.222.1 maven版本:apache-maven-3.6.3 Java版本:jdk1.8.0_231 Git版本:1.8.3.1 docke ...

  8. 手把手教你利用Docker+jenkins部署你的网站

    更新服务器的安装源为阿里的源,参考链接:https://blog.csdn.net/js_xh/article/details/79166655 安装docker; 1 更新资源 sudo apt-g ...

  9. SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...

随机推荐

  1. DES、RSA、MD5、SHA、随机生成加密与解密

    一.数据加密/编码算法列表   常见用于保证安全的加密或编码算法如下:   1.常用密钥算法   密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括:   DES(Data Encr ...

  2. Luogu P1278 单词游戏(dfs)

    P1278 单词游戏 题意 题目描述 \(Io\)和\(Ao\)在玩一个单词游戏. 他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致. 游戏可以从任何 ...

  3. 【html、CSS、javascript-6】JavaScript

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 参考功能网站: ht ...

  4. 玩转webpack之webpack的基本知识

    相信看了gulp教程的小伙伴肯定都可以很容易的掌握gulp了.它已经没有什么可以值得去思考的东西了,如果你已经看懂它就是单纯的在布置任务,然后利用插件的功能去执行任务.最后发布任务,pipe的理念来和 ...

  5. 请问“javascript:;”是什么意思?

    请问“javascript:;”是什么意思?   最佳答案   就是 执行一段 空白JAVASCRIPT语句 并且返回的也是空或者false值..把 javascript:; 加在超级链接上 就可以防 ...

  6. 常见的HTML标签的嵌套规则

    众所周知,HTML标签有两类: 块级元素div.h1~h6.address.blockquote.center.dir.dl.dt.dd.fieldset.form.hr.isindex.menu.n ...

  7. htmlunit第一个爬虫演示 目标网址http://ent.sina.com.cn/film/

    基本都要放弃了 springmvc 配置了htmlunit之后无法运行,都不能正常实例化webclient,但是突然想起来用maven应用程序测试一下 结果竟然就可以了.好吧,还是有希望的 大佬博客 ...

  8. jS生成二叉树,二叉树的遍历,查找以及插入

    js递归,二叉树的操作 //递归算法n次幂 function foo(n) { if (n == 1) { return 1; } else { return n * foo(n - 1); } } ...

  9. js封装ajax的方法

    常用的ajax请求方法封装 /** * ajax请求的封装代码 */ function ajaxPost(url, params, cb) { $.ajax({ type : 'post', url ...

  10. Django 的学习(2) 从adminuser到配置

    创建一个superuser python manage.py createsuperuser 然后是密码邮箱用户名 You should see a few types of editable con ...