文章目录

  • 一、安装Tomcat
  • 二、测试Tomcat运行
  • 三、验证是否启动
  • 四、创建Dockerfile(首字母要大写)
  • 五、准备 server.xml
  • 六、将server.xml Dockerfile 上传到linux服务器
  • 七、执行docker build 编译
  • 八、查看生成的镜像文件
  • 九、执行启动Tomcat
  • 写在最后,感谢点赞关注收藏转发



一、安装Tomcat

docker search Tomcat
docker pull Tomcat:8.0

本人指定拉取Tomcat 8.0,如下

docker能不能把多个镜像打成一个镜像 dockerfile 合并 镜像层_tomcat

二、测试Tomcat运行

注意高版本的Tomcat中webapps目录中是没有内容的,也就是说无法访问到Tomcat默认的欢迎界面
注:前者是外围访问端口:后者是容器内部端口
如下命令可后台启动tomcat
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

docker run -itd -p 8080:8080 tomcat

三、验证是否启动

1.如果docker ps 查看当前正在运行的容器,如果出现如下,则代表启动成功,或则 ip+9999(自己映射的)访问

docker能不能把多个镜像打成一个镜像 dockerfile 合并 镜像层_linux_02


2.如果启动失败,没有出现上图, 则 docker logs 容器id(此id在 docker run 命令执行完毕后会返回) 查看日志

docker能不能把多个镜像打成一个镜像 dockerfile 合并 镜像层_docker_03

四、创建Dockerfile(首字母要大写)

FROM tomcat:8.0
RUN rm -rf /usr/local/tomcat/webapps/*
ADD ./server.xml /usr/local/tomcat/conf/
ENV TZ=Moran/bj
RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
CMD ["catalina.sh", "run"]

五、准备 server.xml

这个文件可以去 下载个tomcat copy 出来

docker能不能把多个镜像打成一个镜像 dockerfile 合并 镜像层_docker_04


增加配置项

docker能不能把多个镜像打成一个镜像 dockerfile 合并 镜像层_docker_05

六、将server.xml Dockerfile 上传到linux服务器

docker能不能把多个镜像打成一个镜像 dockerfile 合并 镜像层_dockerFile_06

七、执行docker build 编译

注意
img-tomcat-server:0.1(镜像名称)
名称后面 空格 然后有个 . 代表当前目录执行查找Dockerfile

docker build -t image-tomcat . 编译

八、查看生成的镜像文件

docker能不能把多个镜像打成一个镜像 dockerfile 合并 镜像层_dockerFile_07

九、执行启动Tomcat

docker run -d -v /blog/images:/data/ -p 9999:8080 --name img-tomcat-server image-tomcat