阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Dockerfile制作JDK+Tomcat镜像

144次阅读
没有评论

共计 1893 个字符,预计需要花费 5 分钟才能阅读完成。

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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计1893字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中