前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Dockerfile制作JDK+Tomcat镜像

使用Dockerfile制作JDK+Tomcat镜像

作者头像
星哥玩云
发布2022-07-14 10:56:55
1K0
发布2022-07-14 10:56:55
举报
文章被收录于专栏:开源部署开源部署

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档