Docker学习——基于tomcat镜像创建一个自定义的镜像

从远程docker hub拉取一个官方的tomcat镜像

[root@host-192-168-48-4 local]# docker pull tomcat:8.5-jdk8-adoptopenjdk-openj9

查看拉取的镜像

可以看到有tomcat这个镜像了

[root@host-192-168-48-4 local]# docker images
REPOSITORY                   TAG                            IMAGE ID            CREATED             SIZE
tomcat                       8.5-jdk8-adoptopenjdk-openj9   a16a77bb3591        8 days ago          342MB
nginx                        latest                         2622e6cca7eb        2 weeks ago         132MB
mysql                        5.7                            9cfcce23593a        2 weeks ago         448MB

 

运行这个tomcat镜像测试是否能正常使用

映射宿主机端口8888到docker容器的8080端口,tomcat默认启动在8080端口

[root@host-192-168-48-4 local]# docker run --name tomcat-8888 -d -p 8888:8080 tomcat

 浏览器验证是否能访问

但是很遗憾,404.。。。。。。

进入tomcat容器查看日志 确认正常启动

[root@host-192-168-48-4 fkk]# docker exec -it tomcat-8888 bash
root@f0f9f7bd2a07:/usr/local/tomcat# ls
bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  native-jni-lib  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  webapps.dist  work
root@f0f9f7bd2a07:/usr/local/tomcat# cd logs/
root@f0f9f7bd2a07:/usr/local/tomcat/logs# ls
catalina.2020-06-26.log  host-manager.2020-06-26.log  localhost.2020-06-26.log  localhost_access_log.2020-06-26.txt  manager.2020-06-26.log
root@f0f9f7bd2a07:/usr/local/tomcat/logs# tail -f catalina.2020-06-26.log 
26-Jun-2020 04:44:21.674 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
26-Jun-2020 04:44:21.674 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
26-Jun-2020 04:44:21.697 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1  11 Sep 2018]
26-Jun-2020 04:44:21.985 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
26-Jun-2020 04:44:22.028 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
26-Jun-2020 04:44:22.075 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 3027 ms
26-Jun-2020 04:44:22.155 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
26-Jun-2020 04:44:22.156 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.56
26-Jun-2020 04:44:22.194 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
26-Jun-2020 04:44:22.210 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 133 ms

进入webapps目录下查看

root@f0f9f7bd2a07:/usr/local/tomcat# cd webapps
root@f0f9f7bd2a07:/usr/local/tomcat/webapps# ls
root@f0f9f7bd2a07:/usr/local/tomcat/webapps# 

 果然,webapps下没有东西,但是在与webapps同级有一个webapps.dist目录,进去发现root等文件目录在这个目录下,这就导致在访8080首页是看不到页面。那好吧,就把目录下的文件拷贝到webapps目录下就可以了。

基于现有的容器自定义自己的tomcat镜像

上面提到的,默认官方的webapps目录下是没有文件的,在手动拷贝文件更换目录后,我们可以基于现在的容器创建一个自己的tomcat镜像,这样之后使用自己的tomcat镜像就可以创建webapps目录下有文件的容器了。

-a 提交作者

-m 描述

tomcat-8888 是要制作为镜像的容器名称,也就是我们更改webapps下文件的容器

tomcat8.5:1.0.1 对应的是镜像的REPOSITORY 和TAG

[root@host]# docker commit -a 'fkk' -m 'move webapps.diat file to webapps' tomcat-8888 tomcat8.5:1.0.1

 查看镜像列表

 可以看到tomcat8.5这个镜像创建好了,ok

[root@host-192-168-48-4 fkk]# docker images
REPOSITORY                   TAG                            IMAGE ID            CREATED             SIZE
tomcat8.5                    1.0.1                          afbc27719946        5 seconds ago       347MB
tomcat                       8.5-jdk8-adoptopenjdk-openj9   a16a77bb3591        8 days ago          342MB
nginx                        latest                         2622e6cca7eb        2 weeks ago         132MB
mysql                        5.7                            9cfcce23593a        2 weeks ago         448MB
busybox                      latest                         1c35c4412082        3 weeks ago         1.22MB
rancher/server               latest                         98d8bb571885        7 weeks ago         1.08GB

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章