简单的Dockerfile 构建jdk+tomcat镜像

作为一个docker小白,在学习中总结了一些经验分享给大家。本节是简单介绍如何通过Dockerfile 构建jdk+tomcat镜像。

准备步骤:

首先把jdk压缩包和tomcat压缩包放到指定的目录下面。如图:

然后新建一个空文件Dockerfile。

准备步骤完成,下面正式开始构建镜像。

1、编辑Dockerfile内容

#基础镜像
FROM centos:latest

#创建者信息
MAINTAINER wangpengfei

#添加tomcat和jdk到镜像中
#我的jdk 和 tomcat压缩包在当前目录下,ADD命令会自动解压
ADD jdk-8u181-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.38.tar.gz /usr/local/

#设置环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_181/
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib

#配置启动文件的权限
RUN chmod +x /usr/local/apache-tomcat-8.5.38/bin/*.sh

#指定于外界交互的端口
EXPOSE 8080

#定义在容器启动之后的运行程序
ENTRYPOINT /usr/local/apache-tomcat-8.5.38/bin/startup.sh && /bin/bash && tail -f /usr/local/apache-tomcat-8.5.38/logs/catalina.out

ps:Docker容器同时只能管理一个进程,如果这个进程退出那么容器也就退出了,但这不表示容器只能运行一个进程(其他进程可在后台运行),但是要使容器不退出必须有一个前台执行的进程。

参数ENTRYPOINT必须有 && /bin/bash && tail -f /usr/local/apache-tomcat-8.5.38/logs/catalina.out,不然最后容器启动后会随即退出。

2、构建镜像

#wpf-image是镜像名称,后面的.必须加
docker build -t wpf-image .

结果出现这条命令表示镜像创建成功。

查看自己建好的镜像,命令:docker images

3、启动镜像

#容器8080映射虚拟机8080,前面是的8080是虚拟机的端口,后面是容器的端口
docker run -d -p 8080:8080 wpf-image

查看在运行的容器,命令:docker ps

最后我们访问虚拟机的8080端口就可以看到启动的tomcat了。

这只是个非常简单的镜像,欢迎大家指正。

发布了20 篇原创文章 · 获赞 22 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/yanzi920403/article/details/104004990