docker安裝jdk+tomcat環境鏡像

  • 編寫Dockerfile
From centos:7
MAINTAINER niejian@bluemoon.com.cn
# OS 環境配置
RUN yum install -y wget
#下載JDK並安裝
RUN mkdir -p /var/tmp/jdk
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  -P  /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
RUN tar zxvf /var/tmp/jdk/jdk-8u181-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u181-linux-x64.tar.gz
## 安裝tomcat
RUN mkdir /var/tmp/tomcat
RUN wget -P /var/tmp/tomcat http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz
RUN tar zxvf /var/tmp/tomcat/apache-tomcat-8.5.34.tar.gz -C /var/tmp/tomcat/ && rm -rf /var/tmp/tomcat/apache-tomcat-8.5.34.tar.gz
## 設置環境變量
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_181
ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.34
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

#開啓內部服務端口
EXPOSE 8080


#啓動tomcat服務器
CMD ["./var/tmp/tomcat/apache-tomcat-8.5.34/bin/catalina.sh","run"] && tail -f /var/tmp/tomcat/apache-tomcat-8.5.34/logs/catalina.out
  • 構建鏡像 須要在Dockerfile目錄進行
docker build -t jdk8-tomcat8 .
  • 啓動

1.查看鏡像信息java

root@admin157:/home/moon/jdk_base_dockerfile# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jdk8-tomcat8        latest              5a24b1c96b5b        6 seconds ago       884 MB
centos              7                   5182e96772bf        6 weeks ago         200 MB
  • 還有一種是經過壓縮的方式來打包鏡像

以上有7個RUN命令,而下面就使用喲個RUN命令就完成了打包的操做,打出來的鏡像大小要小200M Dockerfile 中每個指令都會創建一層, RUN 也不例外。每個 RUN 的行爲,就和剛纔咱們手工創建鏡像的過程同樣:新創建一層,在其上執行這些命令,執行結束後, commit 這一層的修改,構成新的鏡像。 而上面的這種寫法,建立了 7 層鏡像。這是徹底沒有意義的,並且不少運行時不須要的東西,都被裝進了鏡像裏,好比編譯環境、更新的軟件包等等。結果就是產生很是臃腫、很是多層的鏡像,不單單增長了構建部署的時間,也很容易出錯。 這是不少初學 Docker 的人常犯的一個錯誤linux

From centos:7
MAINTAINER niejian@bluemoon.com.cn
# OS 環境配置
RUN yum install -y wget \
	#下載JDK並安裝
	&& mkdir -p /var/tmp/jdk \
	&& wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  -P  /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz \
	&& tar zxvf /var/tmp/jdk/jdk-8u181-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u181-linux-x64.tar.gz \

	## 安裝tomcat
	&& mkdir /var/tmp/tomcat \
	&& wget -P /var/tmp/tomcat http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz \
	&& tar zxvf /var/tmp/tomcat/apache-tomcat-8.5.34.tar.gz -C /var/tmp/tomcat/ && rm -rf /var/tmp/tomcat/apache-tomcat-8.5.34.tar.gz
## 設置環境變量
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_181
ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.34
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

#開啓內部服務端口
EXPOSE 8080


#啓動tomcat服務器
CMD ["./var/tmp/tomcat/apache-tomcat-8.5.34/bin/catalina.sh","run"] && tail -f /var/tmp/tomcat/apache-tomcat-8.5.34/logs/catalina.out
  • 查看打包好的鏡像信息
root@admin157:/home/moon/compose_jdk_tomcat# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
jdk8-tomcat8-compress   latest              3c03c936c80f        9 minutes ago       689 MB
相關文章
相關標籤/搜索