建立Tomcat映象並部署war工程
阿新 • • 發佈:2018-12-26
通過這個案例把之前學的docker知識串一串
1. 先建立一個帶有ssh服務的centos映象,當然也可以直接下tomcat映象,但是如果公司用的話可能需要指定版本,jdk之類的,還是需要自己做映象的,這裡順便練下做映象。
執行一個centos容器,主機沒有的話會自動去下載映象再啟動
在容器中輸入sshd命令,此時是沒有ssh服務
安裝sshd服務
啟動sshd服務,會報下面錯誤
執行下面命令
修改配置
把UsePAM設定成no
設定密碼
退出容器準備為容器建立映象,記住此時容器 id 為377.....
docker commit 377 sshd-centos:centos
這個時候我們可以啟動容器看是否能夠外部訪問
docker run -p 10022:22 -d sshd-centos:centos /usr/sbin/sshd -D啟動容器並將主機的10022埠對映成容器的22埠
通過主機訪問
ssh [email protected] -p 10022
上面我們的ssh服務的centos映象就完成了。
2.做tomcat映象,建立一個Tomcat資料夾,從官網上下載jdk的tar檔案解壓到Tomcat資料夾,建立 Dockerfile
檔案和run.sh檔案,下載tomcat壓縮檔案解壓。完成後,目錄檔案如下:
編輯dockerfile檔案,編寫下面程式碼
編輯run.sh檔案#繼承的映象 FROM sshd-centos:centos #作者資訊 MAINTAINER chenglei "
[email protected]" #把當前目錄下的jdk資料夾新增到映象 ADD jdk7 /jdk7 #把當前目錄下的tomcat資料夾新增到映象 ADD tomcat7 /tomcat7 #把當前目錄下的run.sh新增到映象 ADD run.sh /run.sh #新增環境變數 ENV JAVA_HOME /jdk7 ENV CATALINA_HOME /tomcat7 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin #修改許可權 RUN chmod +x /*.sh RUN chmod +x /tomcat7/bin/*.sh #暴露8080埠 EXPOSE 8080 #啟動時執行tomcat CMD ["/run.sh"]
#!/bin/bash
#啟動ssh
/usr/sbin/sshd -D &
#啟動tomcat
exec ${CATALINA_HOME}/bin/catalina.sh run
生成映象檔案
docker bulid -t tomcat:cl .
通過docker images檢視
啟動我們的映象
docker run -ti -p 8888:8080 tomcat:cl
將主機的埠8888繫結容器埠8080
啟動成功後我們通過ip:8888即可訪問我們的容器tomcat