這裏安裝的Tomcat繼承了以前JDK7的Docker鏡像,由於運行Tomcat須要依賴JDK。git
大概步驟:github
# 方式一:能夠經過ssh上傳指定版本的tomcat(這裏選擇第一種) # 1. 上傳tomcat7到宿主機 # 2. 將tomcat7都解壓到指定的目錄下(和Dockerfile文件同目錄) # 方式二:從官網或者鏡像網站下載tomcat7
Dockerfile文件docker
############################################ # version : birdben/tomcat7:v1 # desc : 當前版本安裝的tomcat7 ############################################ # 設置繼承自咱們建立的 jdk7 鏡像 FROM birdben/jdk7:v1 # 下面是一些建立者的基本信息 MAINTAINER birdben (191654006@163.com) # 設置環境變量,全部操做都是非交互式的 ENV DEBIAN_FRONTEND noninteractive # 添加 supervisord 的配置文件,並複製配置文件到對應目錄下面。(supervisord.conf文件和Dockerfile文件在同一路徑) COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf # 設置 tomcat 的環境變量,若讀者有其餘的環境變量須要設置,也能夠在這裏添加。 ENV CATALINA_HOME /software/tomcat7 # 複製 apache-tomcat-7.0.55 文件到鏡像中(apache-tomcat-7.0.55 文件夾要和Dockerfile文件在同一路徑) ADD apache-tomcat-7.0.55 /software/tomcat7 # 容器須要開放Tomcat 8080端口 EXPOSE 8080 # 執行supervisord來同時執行多個命令,使用 supervisord 的可執行路徑啓動服務。 CMD ["/usr/bin/supervisord"]
Dockerfile源文件連接:apache
https://github.com/birdben/birdDocker/blob/master/tomcat7/Dockerfile瀏覽器
supervisor配置文件內容tomcat
# 配置文件包含目錄和進程 # 第一段 supervsord 配置軟件自己,使用 nodaemon 參數來運行。 # 第二段包含要控制的 2 個服務。每一段包含一個服務的目錄和啓動這個服務的命令。 [supervisord] nodaemon=true [program:sshd] command=/usr/sbin/sshd -D [program:tomcat] command=/bin/bash -c "exec ${CATALINA_HOME}/bin/catalina.sh run"
控制檯終端bash
# 構建鏡像 docker build -t="birdben/tomcat7:v1" . # 執行已經構件好的鏡像 docker run -p 9999:22 -p 8080:8080 -t -i birdben/tomcat7:v1
瀏覽器訪問ssh
http://10.211.55.4:8080/