1、准備基於 CentOS7 的jdk8的鏡像。
2、下載並上傳tomcat8安裝包至指定目錄(自己定義:/usr/local/docker),並創建Dockerfile文件。
3、編寫Dockerfile文件內容
#1、指定基礎鏡像,並且必須是第一條指令 FROM jdk8_image:V1.0 #2、指明該鏡像的作者和電子郵箱 MAINTAINER zjk "604115781@qq.com" #3、在構建鏡像時,指定鏡像的工作目錄,之后的命令都是基於此工作目錄,如果不存在,則會創建目錄 WORKDIR /usr/local/docker #4、一個復制命令,把jdk安裝文件復制到鏡像中,語法 ADD SRC DEST ,ADD命令具有自動解壓功能 ADD apache-tomcat-8.5.39.tar.gz /usr/local/docker #5、配置環境變量,此處目錄為tar.gz包解壓后的名稱,需提前解壓知曉: #6、設置啟動命令 ENTRYPOINT ["/usr/local/docker/apache-tomcat-8.5.39/bin/catalina.sh","run"]
PS:此時的基礎鏡像已變為“jdk8_image:V1.0”
4、開始構建鏡像
docker build -t tomcat8_image .
-t:鏡像的名字及標簽
. 最后一個點表示使用當前路徑的Dockerfile進行構建
5、可以看到tomcat8鏡像已創建
docker images
6、創建並運行tomcat8容器
docker run -itd --name tomcat_container -p 8080:8080 -v /opt/tomcat/webapps/:/usr/local/docker/apache-tomcat-8.5.39/webapps/ tomcat8_image /bin/bash
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
-d: 后台運行容器,並返回容器ID;
--name= 為容器指定一個名稱;
-p: 指定端口映射,格式為:主機(宿主)端口:容器端口
-v: 路徑映射,宿主機路徑:容器內部路徑,映射后只需要操作宿主機路徑內文件即可。
7、查看已運行容器列表
docker ps
8、在宿主機"/opt/tomcat/webapps/test"下創建測試文件test.html
<html> <head>Tomcat Run In Docker</head> <body> hello docker. </body> </html>
9、瀏覽器訪問外部鏈接 http://192.168.146.172:8080/test/test.html,請求成功。
至此、在jdk8的鏡像上增加tomcat8已經完成,生成基於 CentOS7 的jdk8+tomcat