首先需要搭建好docker環境的linux系統,這個教程多如牛毛,在此不再贅述。
然后編寫一個dockerfile來生成一個鏡像,dockerfile其實就是一系列命令的集合,有點像windows的批處理文件,
搭建Jenkins構建環境需要安裝jdk、maven、tomcat、jenkins,另外還安裝了GIT,用來構建GIT來源的代碼,內容如下:
FROM centos:7
# author info
MAINTAINER xulijian 514045152@qq.com
# install wget to download files
RUN yum install wget -y
# install git
RUN yum install git -y
RUN cd /opt
# download jdk
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
# download maven
RUN wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
# download tomcat
RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
# unzip jdk
RUN tar -xvf jdk-8u131-linux-x64.tar.gz -C /opt/
# unzip maven
RUN tar -xvf apache-maven-3.5.0-bin.tar.gz -C /opt/
# unzip tomcat
RUN tar -xvf apache-tomcat-8.5.14.tar.gz -C /opt
# set environment
ENV JAVA_HOME /opt/jdk1.8.0_131
ENV MAVEN_HOME /opt/apache-maven-3.5.0
ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
# download jenkins
RUN wget -P /opt/apache-tomcat-8.5.14/webapps http://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.46.2/jenkins.war
# startup tomcat
CMD /opt/apache-tomcat-8.5.14/bin/catalina.sh run
# expose memcached port
EXPOSE 8080
然后執行構建命令
docker build -t liuge1988/jenkins:base -f /opt/test/dockerfile /opt/test
-t 要生成的鏡像, user/repo:tag
-f dockerfile文件所在路徑
/opt/test 可以是任意目錄,要同步拷貝到新生成鏡像的目錄,用於初始化目錄內容
執行完成之后,查看鏡像是否正確生成。
docker images | grep Jenkins

鏡像生成之后,可以將鏡像存儲到docker hub, 以后要用的時候直接從docker hub上拉取下拉就好了
上傳到docker hub,需要注冊一個docker hub賬號, 鍵入命令
docker login
根據提示輸入用戶名和密碼,如果提示login success,則已經登錄成功。
然后執行推送命令,將鏡像上傳到docker hub
docker push user/repo:tag
user/repo:tag 用戶/倉庫:鏡像標簽,如liuge1988/jenkins:base
生成鏡像之后,就可以用此鏡像啟動一個具體的容器了。
docker run -d -i -t --name jenkins_procloud -p 8308:8080 liuge1988/jenkins:base
啟動完成之后,執行命令查看容器是否運行成功。
docker images | grep Jenkins

容器其實就是一個輕量的linux,進入容器后跟linux系統是一樣的,如果想進入容器,進行一些操作,可以執行以下命令。
docker exec -it containerId /bin/bash

要退出容器輸入exit或Ctrl + D 就可以了。
進入tomcat的bin目錄,啟動tomcat

啟動好tomcat之后就可以通過 主機ip:端口/jenkins 來訪問jenkins了。
http://192.168.1.111:8308/jenkins
作者:朝雨憶輕塵
出處:https://www.cnblogs.com/xifengxiaoma/
版權所有,歡迎轉載,轉載請注明原文作者及出處。
