使用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"]

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/6771.html

(0)
上一篇 2021年7月17日
下一篇 2021年7月17日

相关推荐

发表回复

登录后才能评论