#指明构建的新镜像是来自于 centos:7 , ( 如果本地有这个镜像,则用这个镜像, 如果没有,则从远程拉取)
FROM centos:7
#通过镜像标签声明了作者信息
LABEL maintainer="作者姓名等等"
#设置工作目录
WORKDIR /usr/local
#新镜像构建成功以后创建指定目录 (这一步类似于: 根据原始镜像创建,启动了容器, 在容器中创建了目录 , run命令用来在dockerfile文件中指定要执行的linux命令)
RUN mdkir -p /usr/local/java && mkdir -p /usr/local/java
# 拷贝文件到镜像中并解压
ADD 宿主机jdk文件路径 或者 jdk官网download的url /usr/local/java
ADD 宿主机tomcat文件路径 或者 tomcat官网下载文件url /usr/local/tomcat
# 暴露容器运行时的 8080 监听端口给外部
EXPOSE 8080
#设置容器内 JAVA_HOME 环境变量
ENV JAVA_HOME /usr/local/java/jdk-11.0.6
ENV PATH $PATH:$JAVA_HOME/bin
# 启动容器时启动tomcat run的含义是运行并阻塞控制台--方便看清日志
CMD ["/usr/local/tomcat/apache-tomcat-9.0.37/bin/catalina.sh" , "run"]
容器启动后必须要有前台任务 , 如果容器检测到自己没有前台任务, 那么他会自动退出,所以创建容器后,要保证容器启动了前台任务(都启成后台任务容器会自己退出)
运行dockerfile:
该博客介绍了如何使用Dockerfile从centos:7基础镜像构建新的镜像,并配置工作目录、创建目录、添加与解压JDK和Tomcat文件,然后设置环境变量并暴露8080端口。最后,说明了容器启动时必须有前台任务以保持容器运行,并提供了使用docker build命令构建镜像的方法。
768

被折叠的 条评论
为什么被折叠?



