1.首先建立一个专用的dockerfile目录,方便统一存放将要创建的Dockerfile文件及相关资源,

例如:mkdir mydockerself

2.定位到mydockerself路径下,下载linux版本的tomcat和jdk,以备使用

3.新建Dockerfile文件

touch Dockerfile

4.编辑文件内容如下:

FROM centos
#作者
MAINTAINER zxp #安装vim编辑器
RUN yum -y install vim
#设置访问时默认进入的目录,进入/usr/local目录
ENV MYPATH /usr/local
WORKDIR $MYPATH
#在/usr/local下创建jdk目录,用来存放jdk文件
#RUN mkdir jdk
#在/usr/local下创建tomcat目录,用来存放tomcat
#RUN mkdir tomcat #将宿主机的jdk目录下jdk文件拷至镜像的/usr/local目录下,并自动解压。ADD与COPY命令区别
ADD jdk-8u181-linux-x64.tar.gz /usr/local/
#将宿主机的tomcat目录下的文件拷至镜像的/usr/local目录下,并自动解压
ADD tomcat8.tar.gz /usr/local/ #设置环境变量
ENV JAVA_HOME /usr/local/jdk1..0_181
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATLINA_HOME /usr/local/apache-tomcat-8.0.
ENV CATLINA_BASE /usr/local/apache-tomcat-8.0.
ENV PATH $PATH:$JAVA_HOME/bin:$CATLINA_HOME/lib:$CATLINA_HOME/bin #公开端口
EXPOSE
#设置启动命令,启动Tomcat
#CMD /usr/local/apache-tomcat-8.0./bin/startup.sh && tail -f /usr/local/apache-tomcat-8.0./bin/logs/catalina.out
ENTRYPOINT ["/usr/local/apache-tomcat-8.0.53/bin/catalina.sh","run"]

5.构建镜像

#使用当前路径下的Dockerfile文件构建镜像,如果我们定义的Dockefile文件名字不是默认的“Dockefile”,则需要-f 指定文件路径和名字
docker build -t zxp/tomcat_by_z .

...

上图显示了构建的各个步骤,最后显示成功

6.使用docker images查看创建好的镜像,zxp/tomcat_by_z即为我们自己构建的镜像

7.通过构建的zxp/tomcat_by_z镜像,启动一个容器,并挂载test数据目录和logs日志目录

docker run -d -p : --name mytomcat001 -v /usr/local/mydockerself/tomcat8/test:/usr/local/apache-tomcat-8.0./webapps/test -v /usr/local/mydockerself/tomcat8/logs:/usr/local/apache-tomcat-8.0./logs --privileged=true zxp/tomcat_by_z

8. 查看启动的容器

9.通过网址访问启动的tomcat容器

可以正常访问,说明一切ok。如果以后想部署网址,可以通过宿主机挂载的test数据目录进行部署。

10.如果我们想进入容器内,可以通过以下命令进入。

#e3d0f30a3ecd为要进入的容器id
docker exec -it e3d0f30a3ecd /bin/bash

可以看到,默认进入的目录,就是我们设置的默认工作目录/usr/local

使用Dockerfile自定义一个包含centos,tomcat的镜像的更多相关文章

  1. 利用Dockerfile构建一个基于CentOS 7镜像

    利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...

  2. 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像

    Dockerfile内容如下: FROM centos MAINTAINER Victor ivictor@foxmail.com WORKDIR /root RUN rm -f /etc/yum.r ...

  3. Docker使用Dockerfile创建Centos(tomcat+jdk)镜像

    原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389 Docker构建镜像的方法主要有两种:    (1)使用docker c ...

  4. 创建一个包含TC的Alpine镜像

    镜像的创建 更换镜像至ustc(为了测试时的速度) 安装musl-dev make gcc linux-headers bison flex以使TC可以编译 拷贝进TC的源代码 进入源代码文件夹进行编 ...

  5. docker Dockerfile学习---nginx负载均衡tomcat服务

    1.此过程在nginx的基础上,也就是上篇博客写的内容. 2.创建项目目录并上传包,解压 $ mkdir centos_tomcat $ cd centos_tomcat $ tar zxvf jdk ...

  6. 使用Dockerfile文件构建基于centOS系统的tomcat镜像

    以下是Dockerfile的内容: #基础镜像 FROM centos #维护人员信息 MAINTAINER weigs "weigs1231@gmail.com" #设置工作目录 ...

  7. 数据结构和算法之栈和队列三:自定义一个栈包含min函数

    我们都知道一个栈的特点是后进先出,如果我们要实现在O(1)的时间内找到一个栈里面的最小值,我们应该怎么解决?如果我们采用遍历获取的思路那必然所需要的时间是O(N)与我们所需要的要求明显不符合,这时候我 ...

  8. DOCKER 学习笔记2 认识dockerfile自定义镜像

    Dockerfile 概念 Dockerfile 是一个文本文件,但包含所构建容器在运行时候的参数.库.资源配置.可以简单理解为我们现有的镜像,比如Centos/Nginx 但我们需要构建一个容器的时 ...

  9. 对于Servlet、Servlet容器以及一个Servlet容器-Tomcat

    Servlet.Servlet容器等内容讲解 转载自http://blog.csdn.net/iAm333 对于Servlet.Servlet容器以及一个Servlet容器-Tomcat这些概念讲解的 ...

随机推荐

  1. Delphi编译选项

    编译选项的设置,称为“开关指令”,其中大部分值为布尔类型 一.代码生成(Code generation)1.Optimization  优化代码,默认true2.Stack frames  生成过程/ ...

  2. 使用 JavaScript 拦截和跟踪浏览器中的 HTTP 请求

    HTTP 请求的拦截技术可以广泛地应用在反向代理.拦截 Ajax 通信.网页的在线翻译.网站改版重构等方面.而拦截根据位置可以分为服务器端和客户端两大类,客户端拦截借助 JavaScript 脚本技术 ...

  3. KeyPress和KeyDown/KeyUp

    (1) KeyPress 和KeyDown .KeyUp之间的区别:    1).KeyPress主要用来捕获数字(注意:包括Shift+数字的符号).字母(注意:包括大小写).小键盘等除了F1-12 ...

  4. 一、.NetCore EF 之命令行

    一.前言 最近在学习研究ABP,使用到微软的ORM框架 Entity Framework(后面简称EF),将其基本操作记录下来. 二.程序包管理器控制台 为了能够在控制台中使用命令行来操作EF,需要先 ...

  5. Bootstrap switch 切换状态踩坑

    Boostrap switch 下载地址(http://www.bootcss.com/p/bootstrap-switch/),同时配有一些简单的用例. 其中写到 Toggle State切换状态的 ...

  6. js中各种弹窗

    ** * JS提示跳转 * @param  $tip  弹窗口提示信息(为空没有提示) * @param  $type 设置类型 close = 关闭 ,back=返回 ,refresh=提示重载,j ...

  7. 【Appium自学】Appium [安装包] Appium 官方文档(转发)

    转发地址:https://blog.csdn.net/panyu881024/article/details/80149190 Appium国内下载地址 : http://pan.baidu.com/ ...

  8. Python 爬虫之下载图片

    from urllib import request import json #---------获取网页源代码-------------- def getHtml(url): response=re ...

  9. 接口测试 - ti

    脚本 主程序 #!/bin/bash . /etc/ti/ti.conf . /etc/ti/ti.fun #-basic.json | curl -H "Content-Type:appl ...

  10. 爬虫之scrapy

    一.项目简单流程 1.创建项目 scrapy startproject 项目名 2.创建Spider cd 项目名 scrapy genspider 爬虫名 域名 class YokaSpider(s ...