zoukankan      html  css  js  c++  java
  • Docker搭建tomcat运行环境(Dockerfile方式)

      上一篇文章的基本做法是通过centOS的官方镜像启动一个容器,然后进入到容器中,手动敲命令安装JDK跟tomcat,这个跟在linux下搭建没有什么区别,只是用来熟悉docker命令,并且在日常开发中如过没有完全符合自己需求的image时(例如RabbitMQ设置用户名和密码),我们可以pull一个现成的,在这个基础上进行修改,效率可能会更高一点,在大部分情况下我们都会选择使用Dockerfile来构建自己的image。

      1、准备相关的软件包和镜像

      docker pull centos 拉取镜像,创建/opt/software包,在包内放入jdk和tomcat的压缩包

      2、编辑Dockerfile,特别需要注意的是jdk、tomcat的压缩包在镜像中解压后的包名,在设置环境变量时不要写错了,我的内容如下

    #基础镜像
    FROM centos
    #维护人员信息
    MAINTAINER asd
    
    #设置工作目录,这个命令是用来切换工作目录的,相当于cd命令
    WORKDIR /usr
    
    #将宿主机中的jdk压缩包复制到镜像中,使用相对路径,我的Dockerfile和jdk、tomcat的压缩包在一个目录下,而二个参数是镜像中保存的路径
    COPY jdk-8u152-linux-x64.tar.gz /usr
    COPY apache-tomcat-8.0.53.tar.gz /usr
    
    #RUN用来执行linux命令,解压jdk和tomcat,在解压后可以将镜像中的压缩包删了,以降低最终创建镜像的大小
    RUN tar -zvxf /usr/jdk-8u152-linux-x64.tar.gz -C /opt && rm -rf /usr/jdk-8u152-linux-x64.tar.gz
    RUN tar -zvxf /usr/apache-tomcat-8.0.53.tar.gz -C /opt && rm -rf /usr/apache-tomcat-8.0.53.tar.gz
    
    #设置环境变量
    ENV JAVA_HOME /opt/jdk1.8.0_152
    ENV PATH $PATH:/$JAVA_HOME/bin
    
    #暴露tomcat的内部接口
    EXPOSE 8080
    #启动容器时,执行脚本文件启动Tomcat并持续输出日志,防止容器退出
    ENTRYPOINT /opt/apache-tomcat-8.0.53/bin/startup.sh && tail -f /opt/apache-tomcat-8.0.53/logs/catalina.out

      3、创建镜像

      在/opt/software目录下执行创建命令 docker build -t mycat:1.0 .,macat是镜像的名字,命令最后面有一个"点",代表当前路径,不要忘了。创建完成后输入docker images,可以看到自己创建的镜像。

      4、运行镜像,创建一个tomcat server

      docker -it --name mycat001 -p 8088:8080 mycat:1.0 /bin/bash

      启动完成后,在浏览器中访问宿主机的ip+端口,就可以访问通了,如果出现类似于“driver failed programming external connectivity on endpoint goofy_bose”的错误,可以试一下关闭防火墙并重启docker,若出现“/opt/jdk-8u152/bin/java: No such file or directory ”类似的错误,则是环境变量的路径配置的不正确。

      

  • 相关阅读:
    阿里云SQL Server远程连接配置
    RSA签名验证无法通过,检查以下部分
    windows开机自动登录
    c# 进程调用exe
    JavaScript console控制台调试 post
    Tesseract-OCR 训练教程(二) 合并新的训练文件
    获取手机唯一标识
    sqlserver 日期与字符串之间的转换
    linq根据英文首字母姓名排序
    js调用浏览器下载
  • 原文地址:https://www.cnblogs.com/hhhshct/p/9635071.html
Copyright © 2011-2022 走看看