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:7

MAINTAINER yuxh yuxh19901014@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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM