• 使用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

  • 相关阅读:
    牛客训练三:处女座的训练(贪心)
    牛客训练二:处女座的砝码(数学题)
    牛客训练二:处女座的签到题(STL+精度+三角形求面积公式)
    牛客训练:小a与黄金街道(欧拉函数+快速幂)
    数论二(快速幂)
    数论一(欧拉函数+费马小定理)
    字典树模板
    springboot在idea的RunDashboard如何显示出来
    网关集成Swagger出现404错误
    maven一直加载2.0.0.M7 的 config server 失败
  • 原文地址:https://www.cnblogs.com/tyhj-zxp/p/9573511.html
Copyright © 2020-2023  润新知