zoukankan      html  css  js  c++  java
  • 使用Dockerfile自定义一个包含centos,tomcat的镜像

    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.8.0_181 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATLINA_HOME /usr/local/apache-tomcat-8.0.53 ENV CATLINA_BASE /usr/local/apache-tomcat-8.0.53 ENV PATH $PATH:$JAVA_HOME/bin:$CATLINA_HOME/lib:$CATLINA_HOME/bin #公开端口 EXPOSE 8080 #设置启动命令,启动Tomcat #CMD /usr/local/apache-tomcat-8.0.53/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.0.53/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 8080:8080 --name mytomcat001 -v /usr/local/mydockerself/tomcat8/test:/usr/local/apache-tomcat-8.0.53/webapps/test -v /usr/local/mydockerself/tomcat8/logs:/usr/local/apache-tomcat-8.0.53/logs --privileged=true zxp/tomcat_by_z

    8. 查看启动的容器

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

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

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

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

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

  • 相关阅读:
    Swift入门篇-Hello World
    Swift入门篇-swift简介
    Minecraft 插件 world edit 的cs 命令
    搭建本地MAVEN NEXUS 服务
    MC java 远程调试 plugin 开发
    企业内部从零开始安装docker hadoop 提纲
    javascript 命令方式 测试例子
    ca des key crt scr
    JSF 抽象和实现例子 (函数和属性)
    form 上传 html 代码
  • 原文地址:https://www.cnblogs.com/tyhj-zxp/p/9573511.html
Copyright © 2011-2022 走看看