第一部分,手工配置并生成镜像:
一、以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/
扫一扫关注作者公众号