1. 程式人生 > >建立Tomcat映象並部署war工程

建立Tomcat映象並部署war工程

通過這個案例把之前學的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檔案,編寫下面程式碼

#繼承的映象
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"]
編輯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