0
点赞
收藏
分享

微信扫一扫

编写Dockerfile文件搭建centos+tomcat+java容器

河南妞 2022-02-01 阅读 70

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明 

整理不易,如需转发请注明出处

一、Docker常用指令说明

1、Dockerfile常用指令:

2、dockerfile文件基础知识:

1、每个保留关键字(指令)都是必须是大写字母

2、执行从上到下顺序执行

3、每一个指令都会创建提交一个新的镜像层,并提交

二、创建一个tomcat镜像,基于centos+java

前言:

Docker镜像逐渐成为企业交付的标准,以后发布项目做镜像就需要编写dockerfile文件

使用步骤说明:

Dockerfile:构建文件,定义了一切的步骤,源代码

DockerImages:通过Dockerfile构建生成的镜像最终发布和运行产品

Docker容器:容器是镜像运行起来提供服务

以下是一个完整的tomcat镜像,基于centos+java的构建步骤

1、准备jdk和tomcat安装包

 2、编写DockerFile文件

FROM centos
MAINTAINER song<song@cityhouse.cn>
COPY readme.txt /usr/local/src/readme.txt
ADD jdk1.8.0_201.tar.gz /usr/local/
ADD apache-tomcat-8.5.71.tar.gz /usr/local/
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_201
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.71
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.71
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.5.71/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.71/logs/catalina.out

3、构建镜像(因为是标准的Dockerfile文件名,默认可以自动寻找可以不用加-f Dockerfile )

docker build -f Dockerfile -t mytomcat .

 可以清楚的看到分层构建过程,根据dockerfile定义的操作执行

 docker images 可以看到本机已经有tomcat这个镜像了

 4、启动镜像,发布项目

(1)、我本地有一个tomcat应用可以直接映射本地项目启动

 (2)、docker run一个容器,定义端口+本地项目+logs映射

docker run -d -it -p 8888:8080 --name=mytomcat -v /usr/local/tomcat/webapps/ROOT/WEB-INF/:/usr/local/apache-tomcat-8.5.71/webapps/ROOT/WEB-INF/ -v /usr/local/src/tomcatlogs/:/usr/local/apache-tomcat-8.5.71/logs mytomcat  

(3)、运行后可以直接的目录就是/usr/local,在我们的dockerfile中有定义WORKDIR       

 (4)、宿主机日志信息也有了

 5、访问测试

curl localhost:8888

举报

相关推荐

0 条评论