使用Dockerfile制作JDK+tomcat镜像
1、準(zhǔn)備好jdk和tomcat
apache-tomcat-8.5.32.tar.gz
jdk-8u181-linux-x64.tar.gz
注意:
a、jdk和tomcat記得從官網(wǎng)下載,否則制作出來(lái)的鏡像容易出現(xiàn)不兼容問(wèn)題。
b、apache-tomcat-8.5.32.tar.gz、jdk-8u181-linux-x64.tar.gz、Dockerfile放在同一目錄
2、編寫(xiě)Dockerfile,內(nèi)容如下:
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注意:測(cè)試發(fā)現(xiàn)catalina.sh start啟動(dòng)tomcat容器無(wú)法成功,用catalina.sh run正常的。
3、設(shè)置Dockerfile權(quán)限
chmod 777 Dockerfile?
4、通過(guò)Dockerfile生成tomcat鏡像
docker build -t tomcat8:v1 .?
5、docker images查看剛剛構(gòu)建的鏡像
REPOSITORY TAG IMAGE ID CREATED SIZE tomcat8 v1 12bd97615c88 About an hour ago 595MB?
6、測(cè)試鏡像,運(yùn)行容器
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宿主機(jī)目錄,存放tomcat項(xiàng)目;/usr/local/apache-tomcat-8.5.32/webapps -->tomcat容器的webapps目錄
7、上傳鏡像到本地鏡像倉(cāng)庫(kù)
?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"]?
轉(zhuǎn)載于:https://www.cnblogs.com/linjiqin/p/9402350.html
總結(jié)
以上是生活随笔為你收集整理的使用Dockerfile制作JDK+tomcat镜像的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Azure系列1.1.2 —— 用于 I
- 下一篇: 关于启动一个线程监控队列的替代方案