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 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的方式)!的更多相关文章
- 『现学现忘』Docker基础 — 32、通过DockerFile的方式挂载数据卷
目录 1.简单了解一下DockerFile 2.通过DockerFile的方式挂载数据卷 (1)创建DockerFile文件 (2)编辑Dockerfile文件 (3)构建Dokcer镜像 (4)启动 ...
- Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署
写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...
- Docker+Jenkins+Maven+SVN搭建持续集成环境
Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...
- Docker+Jenkins+Git发布SpringBoot应用
Doccker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之 ...
- 【转】使用Docker+Jenkins自动构建部署
转载自 https://segmentfault.com/a/1190000012921606 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行 ...
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...
原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...
- 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 ...
- 手把手教你利用Docker+jenkins部署你的网站
更新服务器的安装源为阿里的源,参考链接:https://blog.csdn.net/js_xh/article/details/79166655 安装docker; 1 更新资源 sudo apt-g ...
- SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战
1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...
随机推荐
- 使用powerDesigner绘制类图
使用powerDesigner绘制类图 因为后面要理清楚spring中类与类之间关系,我们来看看如何使用powerDesigner绘制类图 你要去下载powerDesiger,一路下一步安装好 打开, ...
- Pywinauto自动化操作PC微信提取好友微信号
声明:https://zhuanlan.zhihu.com/p/29944988#! /usr/bin/env python #coding=utf-8 #pywinauto自动化操作微信号 #by ...
- TZOJ 2478 How many 0's?(数位DP)
描述 A Benedict monk No.16 writes down the decimal representations of all natural numbers between and ...
- AGC035D
AGC035D Add and Remove 题意 给出\(n\)个数,每次删除一个不在两端的数,然后把它的权值加到相邻的两个数上. 问操作\(n-2\)次后,所剩的两数之和的最小值 \(n\le18 ...
- CF 578B "Or" Game
传送门 解题思路 题意大概是给你一个数列,可以进行k次操作,每次操作可以选择一个数乘x,问操作后的或的最大值.根据位运算,位数越高答案越优,所以贪心的使这k次操作全都放到一个数上,这样的结果肯定较优. ...
- vue多页面项目配置
全局配置 打开 ~\build\webpack.base.conf.js ,找到entry,添加多入口 entry: { main: './src/main.js', main2: './src/ma ...
- div代码大全 DIV代码使用说明
一.DIV代码语法 - TOP DIV代码是放入小于与大于符号内,即“<div>”. DIV是一对闭合标签,即“”开始,“结束”的盒子标签. 语法结构: <div>我是内容&l ...
- IO 性能 $ iostat -kx 2$ vmstat 2 10$ mpstat 2 10$ dstat --top-io --top-bio
这些命令对于调试后端性能非常有用. 检查磁盘使用量:服务器硬盘是否已满? 是否开启了swap交换模式 (si/so)? CPU被谁占用:系统进程? 用户进程? 虚拟机? dstat 是我的最爱.用 ...
- Linux监听的网络服务$ netstat -ntlp$ netstat -nulp$ netstat -nxlp
我一般都分开运行这三个命令,不想一下子看到列出一大堆所有的服务.netstat -nalp倒也可以.不过我绝不会用 numeric 选项 (鄙人一点浅薄的看法:IP 地址看起来更方便). 找到所有正在 ...
- GYM100741 A Queries
A. Queries time limit per test 0.25 s memory limit per test 64 MB input standard input output standa ...