Docker部署java專案[tomcat環境]
公司的一個java專案,然後這是組長給的一個任務,部署到docker中。
部署更不用說啦,肯定要寫Dockerfile,不多想,先下載我需要的環境包。
1。 JDK [JDK下載地址](Java SE Development Kit 8)
2。 tomcat [tomcat下載地址](
https://
tomcat。apache。org/downl
oad-80。cgi
)
3。 maven [maven下載地址](Maven - Download Apache Maven)
下載好後,可以不解壓,直接到docker中解壓,但是我習慣先解壓,然後直接複製目錄到docker中
目錄就這些,一個專案,一個Apache tomcat 一個 Apache maven 一個 jdk,因為映象都不是國內的,所以引入一個映象後,裡面的安裝源都是國外的,所以寫了一個run。sh的指令碼,用來替換掉映象的安裝源,Dockerfile就是我們的豬腳啦。程式碼在下面:
需要的一些安裝包
——————
Dockerfile程式碼:
# 引入基礎映象
FROM ubuntu:16。04
# 執行shell指令碼,更換安裝源
COPY a really cool domain parked on Park。io /
RUN apt-get install bash -y
RUN /bin/sh a really cool domain parked on Park。io
# 安裝必要軟體
RUN apt-get update && apt-get install vim -y
# 安裝jdk
RUN mkdir /home/java
ADD jdk1。8。0_151/ /home/java/jdk1。8。0_151
# 安裝maven
RUN mkdir /var/tmp/maven
ADD apache-maven-3。5。2/ /var/tmp/maven
# 安裝tomcat
RUN mkdir /usr/local/tomcat
ADD apache-tomcat-8。5。23/ /usr/local/tomcat
# 配置環境變數
ENV MAVEN_HOME=/var/tmp/maven
ENV PATH=${PATH}:${MAVEN_HOME}/bin
ENV JAVA_HOME=/home/java/jdk1。8。0_151
ENV JRE_HOME=/home/java/jdk1。8。0_151/jre
ENV PATH=$JAVA_HOME/bin/:$JAVA_HOME=/jre/bin:$PATH:$HOME/bin
# 建立日誌檔案
RUN touch /usr/local/tomcat/bin/run。log
# 部署專案環境
ADD freshstart-iec104/server。xml /usr/local/tomcat/conf/
ADD freshstart-iec104 /usr/local/tomcat/webapps/freshstart-iec104
WORKDIR /usr/local/tomcat/webapps/freshstart-iec104/
RUN mvn clean package
RUN cd /usr/local/tomcat/webapps/freshstart-iec104/target/ && mv freshstart-iec104。war /usr/local/tomcat/webapps/
WORKDIR /usr/local/tomcat/webapps/
RUN rm -rf freshstart-iec104/
CMD /usr/local/tomcat/bin/catalina。sh run
——————
run。sh的程式碼:
#/bin/bash
cat <
deb Index of /ubuntu/ xenial main restricted universe multiverse
deb Index of /ubuntu/ xenial-security main restricted universe multiverse
deb Index of /ubuntu/ xenial-updates main restricted universe multiverse
deb Index of /ubuntu/ xenial-proposed main restricted universe multiverse
deb Index of /ubuntu/ xenial-backports main restricted universe multiverse
deb-src Index of /ubuntu/ xenial main restricted universe multiverse
deb-src Index of /ubuntu/ xenial-security main restricted universe multiverse
deb-src Index of /ubuntu/ xenial-updates main restricted universe multiverse
deb-src Index of /ubuntu/ xenial-proposed main restricted universe multiverse
deb-src Index of /ubuntu/ xenial-backports main restricted universe multiverse
EOF
->執行命令 docker build tomcat 。
然後等他自己跑完吧,跑完還是需要一些時間的。
我把專案貼到github了
[github下載地址](litt1eseven/python-project)
如果你要測試,你需要把你的java專案加進去,並且在Dockerfile裡改成你的專案名稱哦。
部落格地址: