继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. 【DM642学习笔记四】flash烧写过程——错误记录…

    (欢迎批评指正) 一,打开.cdd配置文件时出错: 解决:在FlashBurn配置窗口中,Conversion Cmd一栏可不用管:      菜单Program—Download FBTC,load ...

  2. springmvc:自定义类型转换器代码编写

    字符串转换日期: 1.自定义一个类 /** * 字符串转换日期 */ public class StringToDateConverter implements Converter<String ...

  3. LA3177 Beijing Guards

    Beijing Guards Beijing was once surrounded by four rings of city walls: the Forbidden City Wall, the ...

  4. python 中的split()函数和os.path.split()函数

    Python中有split()和os.path.split()两个函数: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表. os.path.split():将文件 ...

  5. 支付宝单笔转账demo (改配置直接用)

    支付宝接口说明文档  https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer 需要注意的是:rsa的  公钥和 ...

  6. Mysql指定服务器访问

    [root@test ~]# ls[root@test ~]# mysql -u root -pEnter password: Welcome to the MySQL monitor. Comman ...

  7. 【html、CSS、javascript-9】jquery-选择器及过滤器

    一.选择器与过滤器 选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元素 ...

  8. php时间戳转换方式

    {echo date("Y-m-d",$v.created)} 年-月-日 {echo date("Y-m-d H:i:s",$new.created)} 年- ...

  9. ubuntu查看并杀死进程

    Ubuntu 查看和杀死进程 今天在netbeans中关闭webrick时,发现没有关闭掉,打入localhost:3000 依然显示页面,发现无法从nb中再次关闭 只有进入ubuntu的进程下关闭 ...

  10. eclipse svn提交忽略文件及文件夹,ignore设置无效..

    如果之前提交过此文件,就不能设置忽略该文件了.所以第一次提交的时候要搞清楚再提交. [亲测,的确如此,用 Windows -> Preferences -> Team -> Igno ...