首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述。
然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批处理文件,
搭建jenkins构建环境需要安装jdk、maven、tomcat、jenkins,另外还安装了git,用来构建git来源的代码,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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
|
然后执行构建命令
1
|
docker build -t liuge1988 /jenkins :base -f /opt/test/dockerfile /opt/test
|
-t 要生成的镜像, user/repo:tag
-f dockerfile文件所在路径
/opt/test 可以是任意目录,要同步拷贝到新生成镜像的目录,用于初始化目录内容
执行完成之后,查看镜像是否正确生成。
1
|
docker images | grep jenkins
|
镜像生成之后,可以将镜像存储到docker hub, 以后要用的时候直接从docker hub上拉取下拉就好了
上传到docker hub,需要注册一个docker hub账号, 键入命令
1
|
docker login
|
根据提示输入用户名和密码,如果提示login success,则已经登录成功。
然后执行推送命令,将镜像上传到docker hub
docker push user/repo:tag
user/repo:tag 用户/仓库:镜像标签,如liuge1988/jenkins:base
生成镜像之后,就可以用此镜像启动一个具体的容器了。
1
|
docker run -d -i -t --name jenkins_procloud -p 8308:8080 liuge1988 /jenkins :base
|
启动完成之后,执行命令查看容器是否运行成功。
1
|
docker images | grep jenkins
|
容器其实就是一个轻量的linux,进入容器后跟linux系统是一样的,如果想进入容器,进行一些操作,可以执行以下命令。
1
|
docker exec -it containerid /bin/bash
|
要退出容器输入exit或ctrl + d 就可以了。
进入tomcat的bin目录,启动tomcat
启动好tomcat之后就可以通过 主机ip:端口/jenkins 来访问jenkins了。
http://192.168.1.111:8308/jenkins
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/xifengxiaoma/p/6873688.html?utm_source=tuicool&utm_medium=referral