使用Dockerfile制作JDK+tomcat鏡像


1、准備好jdk和tomcat
apache-tomcat-8.5.32.tar.gz
jdk-8u181-linux-x64.tar.gz

注意:
a、jdk和tomcat記得從官網下載,否則制作出來的鏡像容易出現不兼容問題。
b、apache-tomcat-8.5.32.tar.gz、jdk-8u181-linux-x64.tar.gz、Dockerfile放在同一目錄

2、編寫Dockerfile,內容如下:

FROM centos:latest
MAINTAINER john
# now add java and tomcat support in the container 
ADD jdk-8u181-linux-x64.tar.gz  /usr/local/ 
ADD apache-tomcat-8.5.32.tar.gz /usr/local/ 

# configuration of java and tomcat ENV 
ENV JAVA_HOME /usr/local/jdk1.8.0_181 
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.32
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin 

# container listener port 
EXPOSE 8080
# startup web application services by self 
CMD /usr/local/apache-tomcat-8.5.32/bin/catalina.sh run

注意:測試發現catalina.sh start啟動tomcat容器無法成功,用catalina.sh run正常的。

3、設置Dockerfile權限

chmod 777 Dockerfile

 

4、通過Dockerfile生成tomcat鏡像

docker build -t tomcat8:v1 .

 

5、docker images查看剛剛構建的鏡像

REPOSITORY    TAG    IMAGE ID            CREATED             SIZE
tomcat8       v1     12bd97615c88        About an hour ago   595MB

 

6、測試鏡像,運行容器

sudo docker run -d -p 8058:8080 --name mytomcat tomcat8:v1
sudo docker run -d -p 8058:8080 -v /opt/docker/lynch/webapps:/usr/local/apache-tomcat-8.5.32/webapps --name mytomcat tomcat8:v1
sudo docker run -e "SPRING_PROFILES_ACTIVE=uat" -d -p 8080:8080 -p 30008:30008 -v /root/dev/docker/webapps:/usr/local/apache-tomcat-8.5.32/webapps --name game-server tomcat8:uat

注意:/opt/docker/lynch/webapps宿主機目錄,存放tomcat項目;/usr/local/apache-tomcat-8.5.32/webapps -->tomcat容器的webapps目錄


7、上傳鏡像到本地鏡像倉庫

docker tag 12bd97615c88 harbor.baidu.cn/library/tomcat:8.5.32 ##12bd97615c88 剛才創建的鏡像ID
docker login -u admin -p Harborbaidu harbor.baidu.cn
docker push harbor.baidu.cn/library/tomcat:8.5.32

 8、DEMO

FROM java:8-jdk
COPY ./user-service/target/user-service.jar /user-service.jar
ENV TZ Asia/Shanghai
ENV JAVA_OPS -Duser.timezone=Asia/Shanghai
EXPOSE 8080 30001
ENTRYPOINT ["java", "-jar", "-Djava.security.egd=file:/dev/./urandom", "/user-service.jar"]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM