私服--192.168.14.171:9091

本地--192.168.14.174

 

从自己私服上拉去一个合适的tomcat镜像本地仓库

我选取的是8.0.45-jre8这个版本的,进入看它的具体地址

执行命令:docker pull 192.168.14.171:5000/tomcat:8.0.45-jre8

 

创建一个文件夹,名字可以是自己姓名的缩写,

执行命令:mdir jhs 

可以用ls查看是否创建文件夹成功

 

进入文件夹,

执行命令:cd jhs

 

 创建jhs.html

执行命令:touchu jhs.html

          vim jhs.html  (vim的具体用法可以去百度linux vim)

 输入HelloWorld!退出保存.

 

由于要更改tomcat的默认首页,因此要修改server.xml和web.xml

创建server.xml

执行命令:touch server.xml

vim server.xml

文件的内容可以是从自己电脑安装的tomcat中conf目录下的server.xml的内容复制过来,然后在

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

....

....

....

<Context path="" docBase="/usr/local/tomcat/webapps/jhs/" debug="0" reloadable="true"/>

</Host>

中添加这一句红色的

这句配置信息的作用是,将默认的主页路径改为/usr/local/tomcat/webapps/jhs/

 

创建web.xml文件

touch web.xml

vim web.xml

同样文件的内容可以从自己电脑安装的tomcat中conf目录下的web.xml的内容复制过来,然后在最后面加上那一句红色的,这句话的作用是在加上jhs.html这个页面在首页,因为这个一整个配置信息的作用是,在当有人访问tomcat地址时,会在不添加后缀jhs.html等网页的具体信息的情况下,直接从jhs.html、index.html这些文件的顺序下逐个寻找,比如访问到jhs.html就会显示出jhs.html;如果没找到jhs.html就会找index.html。

    <welcome-file-list>

<welcome-file>jhs.html</welcome-file>

        <welcome-file>index.html</welcome-file>

        <welcome-file>index.htm</welcome-file>

        <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

 

创建dockerfile

from 192.168.14.171:5000/tomcat:8.0.45-jre8

copy jhs.html /usr/local/tomcat/webapps/jhs/

copy server.xml /usr/local/tomcat/conf/

copy web.xml /usr/local/tomcat/conf/

from 192.168.14.171:5000/tomcat:8.0.45-jre8的意思是以192.168.14.171:5000/tomcat:8.0.45-jre8这个镜像为基础制作镜像(这个镜像就是我们前面在私服上面拉下来的)

 

copy jhs.html /usr/local/tomcat/webapps/jhs/ 这句话的意思是复制我们刚刚写好的jhs.html 到/usr/local/tomcat/webapps/jhs/这个地址下,因为我们其实并没有jhs这个目录,但这样写系统会自己帮我们创建一个jhs目录,并将jhs.html放进去

 

copy server.xml /usr/local/tomcat/conf/

copy web.xml /usr/local/tomcat/conf/

这两句话的意思是将我们刚刚写好的两个配置文件server.xml和web.xml复制到/usr/local/tomcat/conf/中,但其实这个目录下已经有server.xml和web.xml这两个配置文件了,我们这样的话会直接将原来的覆盖掉。

 

制作镜像

docker build -t tomcat:jhs0 .

docker images

 

run镜像

docker run -d -p 8916:8080 tomcat:jhs0

这句话得意思是运行镜像,生成容器,并将端口映射出去,可以通过访问192.168.14.174:8916 访问到容器里面

 

测试

访问192.168.14.174:8916

 

推送

将这个我们制作好的镜像推送到私服上

docker tag tomcat:jhs0 192.168.14.171:5000/jianghongshan/tomcat:8.0.4.1

docker push 192.168.14.171:5000/jianghongshan/tomcat:8.0.4.1

然后我们可以到私服去查看我们推送上去的镜像

 

这样成功了,当我们要使用这个镜像的时候我们可以像第一步那样,从私服上面拉下来

 

补充:在修改配置文件那一步,我一开始由于找不到配置文件的路径,而弄了2-3个小时也没有正确制作出来,第二天发现可以通过docker exec -it /bin/bash 这个命令进入容器然后ls 查看文件,然后一步一步找到正确的路径,还有就是我是通过xshell连接公司服务器上的linux系统的,可能跟你们有一点不一样,但感觉可以参考参考。

第一次写博客,可能排版字体什么的没弄好,看的比较费劲一点,下次有空会修改好的。谢谢

大家有发现我写的哪里有问题可以留言交流

 

 

 

 

 

 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐