创建Tomcat服务的Centos Docker镜像

本文介绍如何使用Docker手动配置并生成包含Tomcat和JDK的镜像,包括容器创建、软件安装配置、镜像生成及测试流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部分,手工配置并生成镜像:

一、以sshd_centos为基础新建容器,并指定容器的ssh端口22映射到宿主机的10022端口上:

#docker run –d –p 10022:22 sshd_centos  /usr/sbin/sshd –D

二、通过宿主机的10022端口连接容器:

#ssh root@localhost 10022

三、将事先下载好的jdk和tomcat软件包传入容器内:

也可在容器内直接下载:

#wget Unauthorized Request

#wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz

四、安装JDK

1、下载下来后解压:

#tar –zxvfjdk-8u131-solaris-sparcv9.tar.gz

#mv jdk1.8.0_131 /usr/local/jdk1.8.0_131

2、配置jdk环境脚本:

#touch /etc/profile.d/java.sh

#echo "JAVA_HOME=/usr/local/jdk1.8.0_131">> /etc/profile.d/java.sh

#echo "JAVA_BIN=/usr/local/jdk1.8.0_131/bin">> /etc/profile.d/java.sh

#echo "JRE_HOME=/usr/local/jdk1.8.0_131/jre">> /etc/profile.d/java.sh

#echo "PATH=$PATH:/usr/local/jdk1.8.0_131/bin:/usr/local/jdk1.8.0_131/jre/bin">> /etc/profile.d/java.sh

#echo “CLASSPATH=/usr/local/jdk1.8.0_131/jre/lib:/usr/local/jdk1.8.0_131/lib:/usr/local/jdk1.8.0_131/jre/lib/charsets.jar">> /etc/profile.d/java.sh

3、导入环境脚本:

 #. /etc/profile.d/java.sh

 如果脚本不生效,就直接声明脚本中的变量如下:

# export JAVA_HOME=/usr/local/jdk1.8.0_131

#export JAVA_BIN=/usr/local/jdk1.8.0_131/bin

#export JRE_HOME=/usr/local/jdk1.8.0_131/jre

#export PATH=$PATH:/usr/local/jdk1.8.0_131/bin:/usr/local/jdk1.8.0_131/jre/bin

#exportCLASSPATH=/usr/local/jdk1.8.0_131/jre/lib:/usr/local/jdk1.8.0_131/lib:/usr/local/jdk1.8.0_131/jre/lib/charsets.jar

4、检查是否安装成功:

 #java  -version 

如果成功显示java的版本信息,则表示安装成功。

 五、安装tomcat

1、  解压源码包:

#tar -zxvf  apach-tomcat-8.5.15.tar.gz

#mv apache-tomcat-8.5.15 /usr/local/tomcat

2、  修改配置文件:

#cd /usr/local/tomcat/bin

#cp catalina.sh  catalina.sh.bak

#vim catalina.sh  添加如下两行:

JAVA_HOME=/usr/local/jdk1.8.0_131

CATALINA_HOME=/usr/local/tomcat

3、  启动tomcat服务:

#/usr/local/tomcat/bin/catalina.sh  start

4、  查看进程:

#ps aux

六、新建启动脚本:

#vim /usr/local/sbin/run.sh 内容如下:

#!/bin/sh

/usr/sbin/sshd  -D &

/usr/local/tomcat/bin/catalina.sh  run

七、生成镜像:

#docker ps  -a

#docker commit   38ddik88d03222   tomcat_sshd

#docker images

八、测试镜像 :

#docker run  -d  -p 10022:22  -p 8080:8080  tomcat_sshd /usr/local/sbin/run.sh

通过浏览器http:10.7.13.9:8080 浏览可看到tomcat的默认页面。

第二部分,通过Dockerfile自动生成镜像

1、  新建目录及文件

#mkdir  /root/tomcat_centos

#cd  /root/tomcat_centos

#touch  Dockerfile run.sh

下载并解压JDK,解压后放在/root/tomcat_centos目录下;

2、  run.sh脚本的内容:

#!/bin/sh

/usr/sbin/sshd  -D  &

/usr/local/tomcat/bin/catalina.sh run

3、  Dockerfile文件的内容如下:

 #新生成的镜像是基于sshd-centos镜像

FROM sshd_centos

MAINTAINER by likai

WORKDIR /usr/local/src

#安装wget

RUN yum -y install wget

#下载tomcat源码包

RUN wgethttp://apache.fayea.com/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz

#从宿主机上复制JDK文件夹

ADD jdk1.8.0_131 /usr/local/jdk1.8.0_131

#配置JDK环境脚本

RUN touch  /etc/profile.d/java.sh

RUN echo"JAVA_HOME=/usr/local/jdk1.8.0_131" >> /etc/profile.d/java.sh

RUN echo"JAVA_BIN=/usr/local/jdk1.8.0_131/bin" >>/etc/profile.d/java.sh

RUN echo"JRE_HOME=/usr/local/jdk1.8.0_131/jre" >>/etc/profile.d/java.sh

RUN echo"PATH=$PATH:/usr/local/jdk1.8.0_131/bin:/usr/local/jdk1.8.0_131/jre/bin">> /etc/profile.d/java.sh

RUN echo"CLASSPATH=/usr/local/jdk1.8.0_131/jre/lib:/usr/local/jdk1.8.0_131/lib:/usr/local/jdk1.8.0_131/jre/lib/charsets.jar">> /etc/profile.d/java.sh

#导入JDK环境

RUN . /etc/profile.d/java.sh

#解压tomcat源码包

RUN tar -zxvf/usr/local/src/apache-tomcat-8.0.27.tar.gz

RUN mv/usr/local/src/apache-tomcat-8.0.27 /usr/local/tomcat

#修改tomcat启动脚本

WORKDIR /usr/local/tomcat/bin

RUN cp  /usr/local/tomcat/bin/catalina.sh  /usr/local/tomcat/bin/catalina.sh.bak

RUN > /usr/local/tomcat/bin/catalina.sh

RUN echo '#!/bin/sh'>>/usr/local/tomcat/bin/catalina.sh

RUN echo"JAVA_HOME=/usr/local/jdk1.8.0_131">>/usr/local/tomcat/bin/catalina.sh

RUN echo"CATALINA_HOME=/usr/local/tomcat" >>  /usr/local/tomcat/bin/catalina.sh

RUN grep -v '^#!/bin/sh'catalina.sh.bak >> /usr/local/tomcat/bin/catalina.sh

#启动tomcat服务

RUN  /usr/local/tomcat/bin/catalina.sh start

#复制容器启动脚本

ADD run.sh /usr/local/sbin/run.sh

#设置脚本权限

RUN chmod 755/usr/local/sbin/run.sh

CMD["/usr/local/sbin/run.sh"]

#开放容器的22和8080端口

EXPOSE 8080

EXPOSE 22

4、  基于以上Dockerfile文件生成镜像:

#docker  build -rm  -t  tomcat_sshd .

5、  查看生成的镜像:

#docker images

6、  测试镜像:

#docker  run -d  -p 10022:22 –p 8080:8080  tomcat_sshd /usr/local/sbin/run.sh

可通过客户端浏览器测试:

http://IP:8080 看到tomcat的默认主页表示镜像生成成功。

站点目录路径:/usr/local/tomcat/webapps/ROOT/


扫一扫关注作者公众号

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值