文章目录
一、Tomcat部署目录结构
[root@master ~]# tree tomcat/
tomcat/
|-- Dockerfile
`-- files
|-- apache-tomcat-9.0.54.tar.gz
|-- index.jsp
|-- install.sh
|-- jenkins-2.303.2.war
`-- jenkins-2.319.1.war
1 directory, 6 files
二、编写Dokcerfile文件
[root@master ~]# cat tomcat/Dockerfile
FROM centos
LABEL MAINTAINER "gaofan1225 123qq.com"
ENV version 9.0.54
ENV jenkins_vsn 2.319.1
ENV PATH $PATH:/usr/local/tomcat/bin
ADD files/apache-tomcat-${version}.tar.gz /usr/local/
COPY files/jenkins-${jenkins_vsn}.war /usr/local/
COPY files/index.jsp /usr/local/
COPY files/install.sh /tmp/
RUN /tmp/install.sh
EXPOSE 8080
WORKDIR /usr/local/tomcat/bin
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
三、编写脚本配置文件
[root@master ~]# cat tomcat/files/install.sh
#!/bin/bash
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-$(awk -F'"' 'NR==5{print $2}' /etc/os-release).repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum -y install java-1.8.0-openjdk
ln -s /usr/local/apache-tomcat-${version}/ /usr/local/tomcat
cd /usr/local/
mkdir /usr/local/tomcat/webapps/test
cp index.jsp /usr/local/tomcat/webapps/test/
四、编写测试页面文件
[root@master ~]# cat tomcat/files/index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("Hello amu");
%>
</body>
</html>
五、生成镜像
[root@master ~]# docker build -t gaofan1225/tomcat:v1 tomcat/
......以上安装步骤省略
Successfully built b58f66854483
Successfully tagged gaofan1225/tomcat:v1
六、运行一个Tomcat容器
// 做端口映射8080
[root@master ~]# docker run -itd --name tomcat -p 8080:8080 gaofan1225/tomcat:v1
799fb773d080331fe56ca6225ae6d7c6d03866e4d68a544d7715691ebe0e98c5
页面访问
测试页面访问
七、部署Jenkins
// 交互模式登录tomcat容器
[root@master ~]# docker exec -it tomcat /bin/bash
[root@799fb773d080 bin]# cd ../webapps/ROOT/
[root@799fb773d080 ROOT]# ls
RELEASE-NOTES.txt bg-button.png bg-upper.png tomcat.css
WEB-INF bg-middle.png favicon.ico tomcat.svg
asf-logo-wide.svg bg-nav.png index.jsp
[root@799fb773d080 ROOT]# rm -rf RELEASE-NOTES.txt asf-logo-wide.svg bg-middle.png bg-upper.png index.jsp tomcat.css tomcat.png
// 复制jenkins包当当前目录下
[root@799fb773d080 ROOT]# cp /usr/local/jenkins-2.319.1.war .
[root@799fb773d080 ROOT]# ls
WEB-INF bg-nav.png jenkins-2.319.1.war
bg-button.png favicon.ico tomcat.svg
// 下载解压软件unzip
[root@799fb773d080 ROOT]# yum -y install unzip
// 解压jenkins包
[root@799fb773d080 ROOT]# unzip jenkins-2.319.1.war
[root@799fb773d080 ROOT]# ls
ColorFormatter.class css
JNLPMain.class executable
'LogFileOutputStream$1.class' favicon.ico
LogFileOutputStream.class help
META-INF images
'Main$FileAndDescription.class' jenkins-2.319.1.war
Main.class jsbundles
MainDialog.class robots.txt
WEB-INF scripts
bg-button.png tomcat.svg
bg-nav.png winstone.jar
bootstrap
// 重启tomcat容器
[root@master ~]# docker restart tomcat
tomcat
页面访问
密码获取
[root@799fb773d080 local]# cat /root/.jenkins/secrets/initialAdminPassword
5cc3b7117fce4298962684f2f7e9115d
安装默认插件
等待插件安装
创建第一个管理员用户
绑定IP
安装完成
八、把镜像放到Docker Hub仓库
// 登录docker hub仓库
[root@master ~]# docker login
Login Succeeded
// 上传tomcat镜像到docker hub仓库
[root@master ~]# docker push gaofan1225/tomcat:v1