一、新建Dockerfile文件
touch dockerfile
![8e9bb9036eef376125846f15c0797685.png](https://img-blog.csdnimg.cn/img_convert/8e9bb9036eef376125846f15c0797685.png)
编辑dockerfile文件
vi dockerfile
#这串数字是已经创建好的centos镜像的镜像id,在这里作为tomcat的基础镜像
FROM 73f5fb57a402
#指定镜像的创建者信息
MAINTAINER test
#这个环境变量用来表名镜像模板的最后更新时间
ENV REFRESHED_AT 2019-07-30
#切换镜像目录,进入到镜像/usr目录
WORKDIR /usr
#在/usr/下创建jdk目录,用来存放jdk文件
RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat
#将宿主机的jdk目录下的文件拷贝至镜像下的/usr/jdk目录下
ADD java /usr/jdk/
#将宿主机的tomcat目录下的文件拷贝至/usr/tomcat目录下
ADD tomcat /usr/tomcat/
#设置环境变量
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH
#公开端口
EXPOSE 8080
#设置启动命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]
![9698e2b6c661a69d151309f62259d11d.png](https://img-blog.csdnimg.cn/img_convert/9698e2b6c661a69d151309f62259d11d.png)
二、构建镜像
docker build -t test/tomcat .
![bde798fc2eee1772482abf0d5d6885e8.png](https://img-blog.csdnimg.cn/img_convert/bde798fc2eee1772482abf0d5d6885e8.png)
成功的话会出现Successfully,会有镜像ID出现
![2d3b5b494eb5b7a4c8358ff8b70f631a.png](https://img-blog.csdnimg.cn/img_convert/2d3b5b494eb5b7a4c8358ff8b70f631a.png)
使用docker images 查看已经生成好的镜像
![ce756f7d0bb6cadea8e11d000b82441b.png](https://img-blog.csdnimg.cn/img_convert/ce756f7d0bb6cadea8e11d000b82441b.png)
三、通过创建好的镜像,创建一个容器
docker run -d -p 80:8080 --name test_tomcat test/tomcat:latest
![80aa7c6a3bc271a339a06ecbcbcf58ae.png](https://img-blog.csdnimg.cn/img_convert/80aa7c6a3bc271a339a06ecbcbcf58ae.png)
验证访问:本机的ip:80就会访问到docker:8080服务
![1d12557a48092b850ebb23943bc9067c.png](https://img-blog.csdnimg.cn/img_convert/1d12557a48092b850ebb23943bc9067c.png)
访问成功