2017年06月03日 18:09:13 閱讀數:2888 標籤: docker-鏡像Dockerfile 更多docker
我的分類: Dockermacos
版權聲明:本文爲博主原創文章,未經博主容許不得轉載。 https://blog.csdn.net/kity9420/article/details/72853497apache
最近項目中使用到Docker,所以趁在週末時間,研究下Docker。Docker環境安裝以前已經安裝就緒,請參考:《在Centos中安裝Docker CE》。咱們從簡單的開始,使用Dockerfile製做一個能運行Java應用程序的Docker鏡像
一、準備JDK和Tomcat,將JDK和Tomcat放到/usr/local/soft目錄下,soft目錄是我本身新增的
二、在/usr/local/soft目錄下建立Dockerfile文件,文件內容以下ubuntu
#VERSION 0.0.1 #base image FROM ubuntu:latest MAINTAINER longwentao 「longwentao255@126.com」 #install jdk and tomcat ADD jdk-7u79-macosx-x64.dmg /usr/local/ ADD apache-tomcat-7.0.72 /usr/local/apache-tomcat-7.0.72 ADD onStart.sh /usr/local/ ENV JAVA_HOME=/usr/local/jdk1.7.0_79 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin RUN echo "JAVA_HOME=/usr/local/jdk1.7.0_79.jdk CALSSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\nPATH=$PATH:$JAVA_HOME/bin" >> /etc/profile #add execute privilege RUN chmod +x /usr/local/onStart.sh EXPOSE 8888 #start tomcat ENTRYPOINT /usr/local/onStart.sh
TIPS:
1) FROM 表示基於哪一個基礎鏡像製做鏡像,這裏是基於ubuntu的最新鏡像
2) MAINTAINER 表示由哪一個維護這個鏡像
3) ADD 表示將宿主機上的文件複製到鏡像的指定目錄,這裏是將jdk和tomcat複製到鏡像的/usr/local目錄下;onStart.sh是另外一個文件,在ENTRYPOINT中會指定須要運行什麼樣的命令,所以將這些命令統一放在onStart.sh文件中
4) 所以onStart.sh是新增文件,所以還須要給它添加可執行權限,否則會報權限錯誤
5) ENV 表示指定環境變量
6) RUN 運行指定的命令,這裏用於配置Java環境變量
7) EXPOSE 8888 指定暴露8888端口
8) ENTRYPOINT 進入點,後面跟的是須要執行的腳本tomcat
三、在/usr/local/soft目錄下建立onStart.sh文件,文件內容以下bash
#!/bin/bash /usr/local/apache-tomcat-7.0.72/bin/startup.sh #tail -f /usr/local/apache-tomcat-7.0.72/logs/onSart.log
四、進入到/usr/local/soft目錄下,使用docker build 製做Docker鏡像ui
docker build -t="tomcat-ubuntu:v1.0" .
TIPS:
1) -t=」tomcat-ubuntu:v1.0」 指定鏡像名稱爲tomcat-ubuntu,tag爲v1.0
2) 最後的一點(.)表示當前目錄下的Dockerfile文件spa
五、最後經過docker images查看生成的鏡像
.net