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

 

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