作爲一個docker小白,在學習中總結了一些經驗分享給大家。本節是簡單介紹如何通過Dockerfile 構建jdk+tomcat鏡像。
準備步驟:
首先把jdk壓縮包和tomcat壓縮包放到指定的目錄下面。如圖:
然後新建一個空文件Dockerfile。
準備步驟完成,下面正式開始構建鏡像。
1、編輯Dockerfile內容
#基礎鏡像
FROM centos:latest
#創建者信息
MAINTAINER wangpengfei
#添加tomcat和jdk到鏡像中
#我的jdk 和 tomcat壓縮包在當前目錄下,ADD命令會自動解壓
ADD jdk-8u181-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.38.tar.gz /usr/local/
#設置環境變量
ENV JAVA_HOME /usr/local/jdk1.8.0_181/
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib
#配置啓動文件的權限
RUN chmod +x /usr/local/apache-tomcat-8.5.38/bin/*.sh
#指定於外界交互的端口
EXPOSE 8080
#定義在容器啓動之後的運行程序
ENTRYPOINT /usr/local/apache-tomcat-8.5.38/bin/startup.sh && /bin/bash && tail -f /usr/local/apache-tomcat-8.5.38/logs/catalina.out
ps:Docker容器同時只能管理一個進程,如果這個進程退出那麼容器也就退出了,但這不表示容器只能運行一個進程(其他進程可在後臺運行),但是要使容器不退出必須有一個前臺執行的進程。
參數ENTRYPOINT必須有 && /bin/bash && tail -f /usr/local/apache-tomcat-8.5.38/logs/catalina.out,不然最後容器啓動後會隨即退出。
2、構建鏡像
#wpf-image是鏡像名稱,後面的.必須加
docker build -t wpf-image .
結果出現這條命令表示鏡像創建成功。
查看自己建好的鏡像,命令:docker images
3、啓動鏡像
#容器8080映射虛擬機8080,前面是的8080是虛擬機的端口,後面是容器的端口
docker run -d -p 8080:8080 wpf-image
查看在運行的容器,命令:docker ps
最後我們訪問虛擬機的8080端口就可以看到啓動的tomcat了。
這只是個非常簡單的鏡像,歡迎大家指正。