本地编译tomcat的docker镜像

Docker官方的registry上已有很多tomcat的image了,但是从它们的Dockerfile来看都是基于网络形式的。

本例使用本地文件编译,这样可以更大的定制tomcat,也练习下自己编译docker镜像。

1 文件结构

2 Dockerfile

FROM ubuntu

#install jdk
ADD jdk1.6.0_32 /opt/jdk1.6.0_32
ENV JAVA_HOME /opt/jdk1.6.0_32
ENV PATH $PATH:$JAVA_HOME/bin
RUN mkdir -p "$JAVA_HOME"

#install tomcat
ADD apache-tomcat-6.0.41 /opt/apache-tomcat
ENV CATALINA_HOME /opt/apache-tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME

EXPOSE 8080

CMD ["catalina.sh", "run"]

编译

docker build -t tomcat .

运行

docker run -d -p 27945:8080 tomcat

访问

http://ip:27945

时间: 2024-11-01 14:06:11

本地编译tomcat的docker镜像的相关文章

使用Dockerfile编译自己的docker镜像

演示一个镜像包含apache 1.新建Dockerfile Java代码   vi Dockerfile    2.填入如下内容 Java代码   # Version 0.0.1   From centos   MAINTAINER "wiselyman"   RUN yum -y update   RUN yum -y install httpd   EXPOSE 80   CMD /usr/sbin/apachectl -D FOREGROUND     3.编译 Java代码  

公开仓库中Docker镜像的漏洞分析结果发布

Federacy的一名研究人员发布了一项报告,该报告分析了公开仓库中Docker镜像的漏洞.24%的镜像发现了明显的漏洞,其中基于Ubuntu的镜像漏洞最多,而基于Debian的镜像漏洞最少. 这项研究扫描了133个公开Docker仓库中的91个,其中每个仓库都有一个添加'latest'标记的镜像,底层的镜像是一个主Linux分发版本并且带有可运行的包管理器.这里,使用了一个修改过的vuls开源漏洞扫描器来扫描镜像.vuls是用Go语言编写的,支持Linux和FreeBSD.数据是通过Feder

Maven Docker镜像使用技巧

Maven是目前最流行的Java项目管理工具之一,提供了强大的包依赖管理和应用构建功能. Docker提供了官方的Maven镜像可以用于管理和构建Java应用.与直接安装使用Maven工具相比,使用Docker镜像具有更好的可移植性,可以方便地进行版本切换,非常适合在持续集成过程中使用. 关于Maven官方镜像的用法可以参考使用文档 使用阿里云加速 Maven官方仓库在国内网络下的下载速度实在是让人欲哭无泪,利用阿里云的Maven镜像可以大大提升软件包下载速度. 我们可以在官方Maven镜像的基

php7 安装yar 生成docker镜像

Docker包含三个概念: (1)远程仓库即远程镜像库所有镜像的聚集地(不可进入操作). (2)本地镜像即从远程仓库拉取过来的镜像 (3)运行起来的本地镜像叫做容器(分层的可操作) Docker使用: 1.首先通过第三方镜像库(c.163.com)拉取相应的信息比如centos,ubuntu,tomcat等作为基础镜像. Docker pull xxxx 2.运行下载好的镜像. Docker run -dt -p 宿主机端口:镜像端口 --name起一个名字 镜像id/镜像名字 bash -d

打包docker镜像并使用文件导入

   将在线下载或者自己编译的Docker镜像打成tar包,以备在没有网络的情况下,在其他服务器直接导入docker镜像.          1.查看当前容器   Java代码   docker ps -a    结果     Java代码   CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               

五个基于Java的Docker镜像

[原文编者的话]Java 语言长期占据编程语言前三甲的位置,其受欢迎程度与重要性不言而喻.在容器化技术大潮中,Java 可扬容器化之长,避自身"臃肿"之短,取得更高成就.本文选择了5个有代表性的 Java 镜像进行了介绍,并指出了其现存的一些问题和解决方案,供相关人员参考. 尽管 Java 看起来不是很"时髦",但仍是一门在移动市场.开源界及企业中占据主导地位的非常受欢迎的重要的语言.举个例子,你可知道在 Apache 软件基金会中63%的项目是用 Java 写的么

简单谈谈Docker镜像的使用方法_docker

在上篇文章(在Docker中搭建Nginx服务器)中,我们已经介绍了如何快速地搭建一个实用的Nginx服务器.这次我们将围绕Docker镜像(Docker Image),介绍其使用方法.包括三部分: 从Docker Hub或者其他镜像源安装Docker镜像 从Image file安装Docker镜像 从Docker file制作Docker镜像 查找Docker镜像 安装Docker镜像的第一步,是查找你需要的Docker镜像列表,键入: docker search mysql 如果出现权限问题

使用Docker镜像构建RPM包

本文讲的是使用Docker镜像构建RPM包,[编者的话]RPM(Red Hat Package Manager)是用于 Linux 分发版的最常见的软件包管理器.因为它允许分发已编译的软件,所以用户只用一个命令就可以安装软件.而RPM包的构建相当繁琐,并且对环境的要求比较高,本文作者介绍了如何借助Docker来构建可以适用多个平台的RPM包. 在一个内部项目中,我一直在思考如何通过非CI工具/流程生成RPM包,我想手动生成RPM包,这样我可以测试它们是否能正常安装,并用于正常的冒烟测试(译者注:

支持HTTP2的cURL——基于Alpine的最小化Docker镜像

本文讲的是支持HTTP2的cURL--基于Alpine的最小化Docker镜像[编者的话]本文详细地描述了如何构建一个支持HTTP2的cURL镜像,并且尽可能地降低镜像的体积. cURL是我喜欢的开源软件之一.虽然cURL的强大常常被认为是理所当然的,但我真心地认为它值得感谢和尊重.如果我们的工具箱失去了curl,那些需要和网络重度交互的人(我们大多数人都是这样的)将会陷入到困境中.curl速度快.体积小,并且和大多数好工具一样,简洁干净,尽量不影响用户,只做它们需要做的事情. 如果有人想使用c