文章目录

  • Pre
  • Docker 官方镜像 Dockerfile
  • dockerfile制作tomcat镜像
    • 准备软件
    • 编写Dockerfile文件
    • dockerfile构建镜像
    • 启动镜像
    • 测试访问tomcat


Pre

Docker Review - dockerfile 入门篇

Docker Review - dockerfile 实战_给基础镜像增加功能


Docker 官方镜像 Dockerfile

https://github.com/docker-library/docs

以tomcat为例


看着里面的地址,

或者直接点击如下的链接


dockerfile制作tomcat镜像

准备软件

tomcat + JDK


编写Dockerfile文件


FROM centos
MAINTAINER artisanCOPY readme.txt /usr/local/readme.txtADD jdk-8u161-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.44.tar.gz /usr/local/ENV MYPATH /usr/local
WORKDIR $MYPATHENV JAVA_HOME /usr/local/jdk1.8.0_161
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.44
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.44
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/binEXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.44/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.44/bin/logs/catalina.out

ADD 有能力自动解压文件。如果<src>参数是一个可识别的压缩格式(tar, gzip, bzip2, etc)的本地文件 ,就会被解压到指定容器文件系统的路径<dest>


dockerfile构建镜像

[root@VM-0-7-centos jdk]# docker build -f tomcat-dockerfile -t xxxtomcat  .Sending build context to Docker daemon  380.8MB
Step 1/14 : FROM centos---> 5d0da3dc9764
Step 2/14 : MAINTAINER artisan---> Using cache---> f19684f6e082
Step 3/14 : COPY readme.txt /usr/local/readme.txt---> Using cache---> be6de2a66c66
Step 4/14 : ADD jdk-8u161-linux-x64.tar.gz /usr/local/---> Using cache---> 4a3259261dea
Step 5/14 : ADD apache-tomcat-9.0.44.tar.gz /usr/local/---> Using cache---> 287bd3c3c17d
Step 6/14 : ENV MYPATH /usr/local---> Using cache---> 9f7b7e781819
Step 7/14 : WORKDIR $MYPATH---> Using cache---> 8c6faa53c274
Step 8/14 : ENV JAVA_HOME /usr/local/jdk1.8.0_161---> Using cache---> a5eddd2652a9
Step 9/14 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar---> Using cache---> 7dbc598b3f58
Step 10/14 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.44---> Using cache---> 2b7eb2d574f9
Step 11/14 : ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.44---> Using cache---> cff7c91e7b1d
Step 12/14 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin---> Using cache---> c19425f9f62d
Step 13/14 : EXPOSE 8080---> Using cache---> 067a0f5eb770
Step 14/14 : CMD /usr/local/apache-tomcat-9.0.44/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.44/bin/logs/catalina.out---> Using cache---> c5b9494ea9b1
Successfully built c5b9494ea9b1
Successfully tagged xxxtomcat:latest


启动镜像

端口映射 + 挂载目录


[root@VM-0-7-centos jdk]# docker run -d -p 7979:8080 --name xgjtomcat -v /root/tomcat/test:/usr/local/apache-tomcat-9.0.44/webapps/test -v /root/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.44/logs artisantomcat

观察本地的宿主机的目录 /root/tomcat/test 和 /root/tomcat/tomcatlogs ,会自动创建。


测试访问tomcat

根据映射

 -v /root/tomcat/test:/usr/local/apache-tomcat-9.0.44/webapps/test -v /root/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.44/logs

到挂载test的目录下 ,创建一个简单的项目,看看能不能正常运行

新建一个WEB-INF目录,然后创建一个web.xml文件,接着创建一个index.jsp文件


[root@VM-0-7-centos tomcat]# pwd
/root/tomcat
[root@VM-0-7-centos tomcat]#
[root@VM-0-7-centos tomcat]# ls
test  tomcatlogs
[root@VM-0-7-centos tomcat]# cd test/
[root@VM-0-7-centos test]#
[root@VM-0-7-centos test]# ll
total 0
[root@VM-0-7-centos test]# mkdir WEB-INF[root@VM-0-7-centos test]# ll
total 8
-rw-r--r-- 1 root root  150 Oct 14 23:41 index.jsp
drwxr-xr-x 2 root root 4096 Oct 14 23:43 WEB-INF
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"version="2.5"></web-app>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tomcat</title>
</head>
<body><h1>hello,artisan</h1>
</body>
</html>

映射后,和宿主机的目录是实时的,我们连到容器里去看看

OK , 一个tomcat镜像成功的创建成功了。

Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像相关推荐

  1. docker制作tomcat镜像并部署war包

    模拟面试小白: 需求:有一台没有网络的服务器,使用docker部署war包,没有tomcat镜像,限时30分钟. 小白:没网部署war包干啥,是不是工作不饱和让你们太闲了. 我:傻瓜,怪我没表达清楚, ...

  2. 制作Tomcat镜像

    制作Tomcat镜像 1.准备镜像文件tomcat压缩包,jdk的压缩包! 2.编写DockerFile文件,官方命名Dockerfile,build会自动寻找这个文件,就不需要-f指定了 注意:现在 ...

  3. Docker Review - dockerfile 实战_给基础镜像增加功能

    文章目录 文件格式 实操Docker file 给基础镜像centos 增加功能 dockerfile镜像制作 docker build 通过dockerfile构建镜像 启动新镜像,验证 docke ...

  4. docker 安装mysql实战_使用docker搭建mysql实例教程

    mysql服务器是目前比较流行的开源数据库服务器,下面介绍如何使用docker来做一个mysql数据库服务 从网站直接拉一个mysql的镜像core @ localhost〜/ base $ dock ...

  5. docker go get问题_创建优化的Go镜像文件以及踩过的坑

    点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 本文作者:倚天码农 原文链接:https://segmentfault.com/a/119000002 ...

  6. 将应用制作成镜像发布到服务器k8s上作为容器微服务运行。

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 首先我们需要在本地docker中调试运行一遍,再发布到k8s上去. 如果需要在本地部署k8s环境,可以使用mimnikube,参考:https://b ...

  7. Docker下载Tomcat镜像并运行Tomcat容器

    1.上dockerhub官网 https://hub.docker.com/ 2.在dockerhub上搜索tomcat镜像 3.点击进入页面然后点击Tags页,查看关于tomcat镜像的各种版本信息 ...

  8. python docker实战_「docker实战篇」python的docker-docker镜像的创建使用dockerfile(3

    从上篇docker commit学习可以了解到,镜像的定制其实每一层添加的配置和文件,如果把每一层的修改配置,修改文件,都写入脚本,用这个脚本构建定制镜像,无法重复的问题,镜像构建透明性的问题,体积的 ...

  9. docker nginx部署web应用_实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署...

    最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...

最新文章

  1. 鼠标移出DIV层时,触发onMouseOut事件
  2. JAVA设计模式详解(六)----------状态模式
  3. YII 增加登陆认证
  4. html缓慢下拉,html - 列表下拉导航-适用于除野生动物园之外的所有浏览器。 间隔开并缓慢 - 堆栈内存溢出...
  5. YAML 学习笔记 .yml
  6. 2022年考研计算机组成原理_2 数据表示和运算
  7. network 网络带宽
  8. 网盘和云备份 区别在哪里
  9. malloc和free的常识性问题
  10. matlab机器学习之knn算法实例
  11. AI遇上农业会怎样?最新UNT《智慧农业》2022全面综述农业4.0发展的架构、技术、应用等
  12. Linux 上通过 Rhythmbox 听音乐
  13. CTSC2016滚粗记 前篇
  14. EF migration conflicted with foreign key constraint
  15. 学校机房中无法使用Todesk和向日葵控制寝室电脑,可以使用Parsec进行控制的步骤。
  16. WORD文档无法编辑解决
  17. 我的世界java笔刷指令_原版创世神刷子工具命令方块指令分享
  18. 利用字典实现大侠个人信息查询程序
  19. matlab hold on解释,Matlab中的hold on 怎么不起作用了啊?程序如下:
  20. 视频教程-怎么架构生产数据库--生产数据库优化的一种方式-MySQL

热门文章

  1. Haskell 斐波那契 数列 递归实现
  2. Python量化(八)下影线选股法
  3. linux 下如何安装php,详解在Linux下如何安装配置PHP
  4. 李宏毅线性代数笔记4:向量
  5. 清华大学c语言指针ppt,清华大学出版社-C语言10指针.ppt
  6. Mysql无法添加环境变量解决办法
  7. spring boot多数据源配置(mysql,redis,mongodb)实战
  8. solr 使用自定义的 QueryParser
  9. elasticSearch6源码分析(8)RepositoriesModule模块
  10. 中小型研发团队架构实践:微服务架构