dockerfile用源码包构建tomcat服务
一、说明
centos基于docker官方镜像来制作的,用tomcat源码包生成的镜像,本环境中tomcat安装目录位于:/usr/local/,jdk安装目录位于:/usr/,如果你使用dockerfile buid此镜像,你要提前下载好jdk、tomcat源码包,在此文本中用的版本为apache-tomcat-8.0.24、jdk1.8.0_131,并且还配置了服务器的时间区,里面#号为注释掉的内容可以不用管它。
二、Dockerfile
FROM centos:latest MAINTAINER ganbing87@126.com ENV TIME_ZONE Asia/Shanghai ENV JAVA_HOME /usr/jdk1.8.0_131/ ENV PATH $PATH:$JAVA_HOME/bin ENV TOMCAT_HOME /usr/local/apache-tomcat-8.0.24/ COPY ./apache-tomcat-8.0.24.tar.gz /usr/src COPY ./jdk-8u131-linux-x64.tar.gz /usr/src RUN set -x \ \ && yum -y update \ && tar zxf /usr/src/apache-tomcat-8.0.24.tar.gz -C /usr/local \ && rm -rf /usr/src/apache-tomcat-8.0.24.tar.gz \ && tar zxf /usr/src/jdk-8u131-linux-x64.tar.gz -C /usr \ && rm -rf /usr/src/jdk-8u131-linux-x64.tar.gz \ && echo "${TIME_ZONE}" > /etc/timezone \ && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime COPY ./shutdown.sh /usr/local/apache-tomcat-8.0.24/bin #ADD run.sh /run.sh #RUN chmod +x /run.sh ENTRYPOINT /usr/local/apache-tomcat-8.0.24/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.0.24/logs/catalina.out #CMD ["/run.sh"] EXPOSE 8080 ~ |
三、附件(shutdown.sh)
#!/bin/bash
ps -ef |grep /usr/local/apache-tomcat-8.0.24 |grep -v grep |awk '{print $2}' |xargs kill -9 |
四、运行容器
1、环境: centos7.2+tomcat8.0.24+jdk1.8.0 2、用dockerfile构建tomcat镜像 docker build -t tomcat:8.0.24 . 3、查看镜像是否构建成功 docker images 4、运行 docker run -d -p 8080:8080 tomcat:8.0.24 bash -d:后台启动,并生成容器id -p:映射主机的8080端口至tomcat容器的8080端口 5、测试: 用浏览器访问docker主机的IP地址,要注意不是容器的IP地址,比如主机IP为172.16.0.1,http://172.16.0.1:8080 |
本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/2049279,如需转载请自行联系原作者
dockerfile用源码包构建tomcat服务相关推荐
- linux apache压缩包安装目录,源码包安装Apache服务
1.安装development tools程序包组 安装Apache服务器前需要解决依赖性问题,比如需要安装GCC.GCC++.OPENSSL等等,因为是在虚拟机里做实验,这里就通过直接安装包组的方法 ...
- 源码包部署tomcat
JAVA 在openjdk下载 jre----痩身版的-------jdk java的容器----->tomcat,websphere(银行用的多),Jboss(12306),weblogic ...
- liunx服务(Nginx服务器 web服务器源码包和rpm 服务平滑升级)
Nginx服务器 和apache服务器是同样的功能都是发布网页web的但是不同的是功能上有些不同各有各的好处. Nginx服务器 开始安装 确认包安装 yum install pcre-devel o ...
- Linux系统中软件的“四”种安装原理详解:源码包安装、RPM二进制安装、YUM在线安装、脚本安装包...
一.Linux软件包分类 1.1 源码包 优点: 开源,如果有足够的能力,可以修改源代码: 可以自由选择所需的功能: 软件是编译安装,所以更加适合自己的系统,更加稳定.效率更高: 卸载方便: 缺点: ...
- Linux软件安装管理 - CentOS (三) ---- 源码包管理
1. 软件包管理简介 2. rpm命令管理(Redhat Package Manager) 3. yum在线安装 4. 源码包管理 4.1 源码包和RPM包的区别 4.1.1 区别 安装前:概念上的区 ...
- 软件包管理:源码包管理-源码包与RPM包的区别
RPM会安装在默认位置,源码包会安装在指定位置. 绝大多数ROM包遵循此规范.写软件包是就固定好了. 主要影响体现在对服务的管理方法,服务的管理分三种:启动,重启动,停止. 启动时使用绝对路径来启动. ...
- linux源码包与RPM包的区别
linux源码包与RPM包的区别 1.区别 .安装之前的区别:概念上的区别 比如说:源码包是开源的,比RPM包安装更自由,但是它安装更慢,更容易报错:RPM包是经过编译的,不能看到源代码,但是它安装更 ...
- Linux软件包管理之源码包、脚本安装包
目录 1.源码包和RPM包的区别 RPM包和源码包默认安装位置: 由于安装位置不同带来的影响 2.源码包安装 ①.安装准备 ②.安装注意事项 ③.安装源码包 3.源码包卸载 4.脚本安装包 5.总结 ...
- Linux软件管理包-源码包与rmp包区别,及其安装与卸载
一. rpm包与源码包的区别 安装前:概念上的区别,源码包是开源的,比RPM包安装更自由,但是它安装更慢,更容易报错:RPM包是经过编译的,不能看到源代码,但是它安装更快,报错更容易解决,只有依赖性问 ...
最新文章
- TCP/IP协议的编写《转载》
- 性能调优工具类TimeStone
- Exchange 2013 OWA重定向
- 关于struts2在页面请求转发到action的问题
- macbook怎么改编码_如何设置新的MacBook进行编码
- 网络之NSURLConnection
- python面试题及答案 2019-这些2019年常考的Python面试题你都能答上来吗?
- java day17 【线程、同步】
- 如何在Excel/Word中使用复选框
- 关于Ajax跨域的解决方案
- Linux下vi命令编辑器怎样编辑,怎样保存退出
- YOLO系列算法原理介绍
- singleSpa记录
- 您即将提交的信息不安全
- kafka计算机专业读法_计算机专业有哪些行之有效的学习方法?
- mysql的一些基本常识(约束 、事务,事务隔离级别)
- vcpkg+opencv4(sfm+vtk)+openMVS+SFM算法-github代下载(http://gitd.cc/)
- spring源码分析之BeanDefinition相关
- 2.5D的ACT类型游戏碰撞检测
- Zadig, 极客的浪漫
热门文章
- angularJS的controller之间如何正确的通信
- iPad 3将获得Retina视网膜显示技术
- tank html5,index.html
- 雷达多普勒频率计算公式_非接触式雷达在线测流系统是由什么组成的?
- POJ2553 强连通出度为0的应用
- 【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 )
- 【Binder 机制】AIDL 分析 ( 创建 AIDL 文件 | 创建 Parcelable 类 | AIDL 中使用 Parcelable 类 | 编译工程生成 AIDL 对应的Java源文件 )
- 【MATLAB】变量 ( 变量引入 | 变量类型 )
- 【面向对象设计模式】 接口型模式 (一)
- leetcode(78)子集