假設你已經安裝了docker!java
下載centos最新版鏡像到本地。docker pull centos:7web
進入鏡像的交互模式:docker run -i -t --name myweb centos:7 /bin/bashdocker
在鏡像中安裝jdk:yum install java-1.8.0-openjdk.x86_64 -y,能夠使用java -version驗證apache
在鏡像中下載tomcat:wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
若是沒有wget,先使用yum install wget安裝一下centos
解壓tomcat: tar -xzvf apache-tomcat-8.5.32.tar.gztomcat
移動tomcat路徑:cd apache-tomcat-8.5.5,mv * /opt/tomcat/bash
編寫java web容器運行腳本,須要編寫一個運行腳本,當啓動容器時,運行該腳本,啓動 Tomcat,好比/root/run.sh做爲啓動文件,具體過程以下:app
建立腳本:vi /root/run.sh
編輯腳本,將如下內容寫進去後保存:
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
爲運行腳本添加執行權限: chmod u+x /root/run.sh,退出容器。webapp
提交剛纔操做的容器爲新的鏡像:經過docker ps -a 來查詢全部的容器,提交:docker commit 69e8f5dcba1b mine/javaweb:1.0centos7
運行這個新的鏡像:docker run -d -p 58080:8080 --name smart mine/javaweb:0.1 /root/run.sh
tomcat啓動成功,訪問http://192.168.1.100:58080/ 既能夠看到tomcat啓動頁面。
以掛載的方式啓動web應用:docker run -d -v /root/webapp/shift.war:/opt/tomcat/webapps/shift.war --privileged=true -p 58080:8080 zhangda/centos7_jdk1.8_tomcat8 /root/run.sh (--privileged=true解決權限問題)
進入容器對話: docker exec -it b36b9710b164 /bin/bash