Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像
文章目录
- 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镜像相关推荐
- docker制作tomcat镜像并部署war包
模拟面试小白: 需求:有一台没有网络的服务器,使用docker部署war包,没有tomcat镜像,限时30分钟. 小白:没网部署war包干啥,是不是工作不饱和让你们太闲了. 我:傻瓜,怪我没表达清楚, ...
- 制作Tomcat镜像
制作Tomcat镜像 1.准备镜像文件tomcat压缩包,jdk的压缩包! 2.编写DockerFile文件,官方命名Dockerfile,build会自动寻找这个文件,就不需要-f指定了 注意:现在 ...
- Docker Review - dockerfile 实战_给基础镜像增加功能
文章目录 文件格式 实操Docker file 给基础镜像centos 增加功能 dockerfile镜像制作 docker build 通过dockerfile构建镜像 启动新镜像,验证 docke ...
- docker 安装mysql实战_使用docker搭建mysql实例教程
mysql服务器是目前比较流行的开源数据库服务器,下面介绍如何使用docker来做一个mysql数据库服务 从网站直接拉一个mysql的镜像core @ localhost〜/ base $ dock ...
- docker go get问题_创建优化的Go镜像文件以及踩过的坑
点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 本文作者:倚天码农 原文链接:https://segmentfault.com/a/119000002 ...
- 将应用制作成镜像发布到服务器k8s上作为容器微服务运行。
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 首先我们需要在本地docker中调试运行一遍,再发布到k8s上去. 如果需要在本地部署k8s环境,可以使用mimnikube,参考:https://b ...
- Docker下载Tomcat镜像并运行Tomcat容器
1.上dockerhub官网 https://hub.docker.com/ 2.在dockerhub上搜索tomcat镜像 3.点击进入页面然后点击Tags页,查看关于tomcat镜像的各种版本信息 ...
- python docker实战_「docker实战篇」python的docker-docker镜像的创建使用dockerfile(3
从上篇docker commit学习可以了解到,镜像的定制其实每一层添加的配置和文件,如果把每一层的修改配置,修改文件,都写入脚本,用这个脚本构建定制镜像,无法重复的问题,镜像构建透明性的问题,体积的 ...
- docker nginx部署web应用_实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署...
最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...
最新文章
- 鼠标移出DIV层时,触发onMouseOut事件
- JAVA设计模式详解(六)----------状态模式
- YII 增加登陆认证
- html缓慢下拉,html - 列表下拉导航-适用于除野生动物园之外的所有浏览器。 间隔开并缓慢 - 堆栈内存溢出...
- YAML 学习笔记 .yml
- 2022年考研计算机组成原理_2 数据表示和运算
- network 网络带宽
- 网盘和云备份 区别在哪里
- malloc和free的常识性问题
- matlab机器学习之knn算法实例
- AI遇上农业会怎样?最新UNT《智慧农业》2022全面综述农业4.0发展的架构、技术、应用等
- Linux 上通过 Rhythmbox 听音乐
- CTSC2016滚粗记 前篇
- EF migration conflicted with foreign key constraint
- 学校机房中无法使用Todesk和向日葵控制寝室电脑,可以使用Parsec进行控制的步骤。
- WORD文档无法编辑解决
- 我的世界java笔刷指令_原版创世神刷子工具命令方块指令分享
- 利用字典实现大侠个人信息查询程序
- matlab hold on解释,Matlab中的hold on 怎么不起作用了啊?程序如下:
- 视频教程-怎么架构生产数据库--生产数据库优化的一种方式-MySQL
热门文章
- Haskell 斐波那契 数列 递归实现
- Python量化(八)下影线选股法
- linux 下如何安装php,详解在Linux下如何安装配置PHP
- 李宏毅线性代数笔记4:向量
- 清华大学c语言指针ppt,清华大学出版社-C语言10指针.ppt
- Mysql无法添加环境变量解决办法
- spring boot多数据源配置(mysql,redis,mongodb)实战
- solr 使用自定义的 QueryParser
- elasticSearch6源码分析(8)RepositoriesModule模块
- 中小型研发团队架构实践:微服务架构