Dockerfile 收集
Dockerfile 收集
1.最基础的oracle-jdk
FROM centos:7.2.1511
MAINTAINER hongdada "hongdaqi159505@gmail.com"
#install required packages
RUN yum -y update && \
yum -y install wget && \
yum -y install tar
#set Oracle Java8 variables
ENV JAVA_VERSION 8u151
ENV JAVA_BUILD 8u151-b12
ENV JAVA_DL_HASH e758a0de34e24606bca991d704f6dcbf
ENV ORACLE_MIRROR_URL http://download.oracle.com
RUN mkdir -p /usr/lib/jvm && \
echo "Download Oracle JDK ${JAVA_VERSION}..." && \
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "${ORACLE_MIRROR_URL}/otn-pub/java/jdk/${JAVA_BUILD}/${JAVA_DL_HASH}/jdk-${JAVA_VERSION}-linux-x64.tar.gz" -O /tmp/jdk-${JAVA_VERSION}.tgz && \
tar xzf /tmp/jdk-${JAVA_VERSION}.tgz -C /usr/lib/jvm && \
rm /tmp/jdk-${JAVA_VERSION}.tgz
RUN alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_151/bin/java 2
RUN alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_151/bin/jar 2
RUN alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_151/bin/javac 2
RUN alternatives --set jar /usr/lib/jvm/jdk1.8.0_151/bin/jar
RUN alternatives --set javac /usr/lib/jvm/jdk1.8.0_151/bin/javac
ENV JAVA_HOME /usr/lib/jvm/jdk1.8.0_151
ENV JRE_HOME /usr/lib/jvm/jdk1.8.0_151/jre
ENV PATH $PATH:${JAVA_HOME}:${JRE_HOME}/bin
2.tomcat:
FROM fore84/oracle-jdk:1.8
MAINTAINER Frank Ore <frank.ore@live.com>
#TOMCAT_TARGZ_URLS
#https://www-us.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
#https://www-eu.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
#https://www.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
#TOMCAT_MIRRORS_URLS
#https://www-us.apache.org
#https://www-eu.apache.org
#https://www.apache.org
ENV TOMCAT_MIRROR_URL https://www-us.apache.org
ENV TOMCAT_MAJOR 8
ENV TOMCAT_VERSION 8.5.23
ENV CATALINA_HOME /opt/tomcat
RUN echo "Installing Tomcat ${TOMCAT_VERSION}..." && \
wget -nv ${TOMCAT_MIRROR_URL}/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz -O /tmp/tomcat.tgz && \
tar xzf /tmp/tomcat.tgz -C /opt && \
mv /opt/apache-tomcat-${TOMCAT_VERSION} ${CATALINA_HOME} && \
rm /tmp/tomcat.tgz
ENV PATH $PATH:$CATALINA_HOME/bin
EXPOSE 8080
# Launch Tomcat
CMD ["/opt/tomcat/bin/catalina.sh", "run"]
3.springmvc
FROM fore84/oracle-jdk:1.8
MAINTAINER Frank Ore <frank.ore@live.com>
#TOMCAT_TARGZ_URLS
#https://www-us.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
#https://www-eu.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
#https://www.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
#TOMCAT_MIRRORS_URLS
#https://www-us.apache.org
#https://www-eu.apache.org
#https://www.apache.org
ENV TOMCAT_MIRROR_URL https://www-us.apache.org
ENV TOMCAT_MAJOR 8
ENV TOMCAT_VERSION 8.5.23
ENV CATALINA_HOME /opt/tomcat
RUN echo "Installing Tomcat ${TOMCAT_VERSION}..." && \
wget -nv ${TOMCAT_MIRROR_URL}/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz -O /tmp/tomcat.tgz && \
tar xzf /tmp/tomcat.tgz -C /opt && \
mv /opt/apache-tomcat-${TOMCAT_VERSION} ${CATALINA_HOME} && \
rm /tmp/tomcat.tgz
COPY SpringMVC.war /opt/tomcat/webapps
ENV PATH $PATH:$CATALINA_HOME/bin
EXPOSE 8080
# Launch Tomcat
CMD ["/opt/tomcat/bin/catalina.sh", "run"]
4.springboot:
# FROM指定使用哪个镜像作为基准
FROM openjdk:8-jdk-alpine
# VOLUME为挂载路径 -v
VOLUME /tmp
# ADD为复制文件到镜像中
ADD springboot-docker.jar app.jar
# RUN为初始化时运行的命令 touch更新app.jar
RUN sh -c 'touch /app.jar'
# ENV为设置环境变量
ENV JAVA_OPTS=""
# ENTRYPOINT为启动时运行的命令
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
参考:
https://hub.docker.com/r/fore84/oracle-jdk/~/dockerfile/
https://github.com/frankore84/SpringMVC/tree/master/1.1
https://github.com/jessfraz/dockerfiles
https://github.com/mritd/dockerfile
https://github.com/oracle/docker-images
Dockerfile 收集的更多相关文章
- Dockerfile命令详解(超全版本)
制作Dockerfile为Docker入门学习的第一步(当然,除了环境搭建). 本文收集.整理了官网关于制作Dockerfile的全部命令(除SHELL没整理,这个就不弄了),可帮助大家快速进入Doc ...
- ELK系列~Nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)
本文章将会继承上一篇文章,主要讲通过工具来进行日志的收集与发送,<ELK系列~NLog.Targets.Fluentd到达如何通过tcp发到fluentd> Nxlog是一个日志收集工具, ...
- 如何编写最佳的Dockerfile
译者按: Dockerfile 的语法非常简单,然而如何加快镜像构建速度,如何减少 Docker 镜像的大小却不是那么直观,需要积累实践经验.这篇博客可以帮助你快速掌握编写 Dockerfile 的技 ...
- 使用heptiolabs/eventrouter收集K8S的事件
k8s的heapster项目中止以后, 事件收集的项目,就推荐使用https://github.com/heptiolabs/eventrouter项目了. 部署文档很简单,但有两个问题要解决: 一, ...
- Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery
前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...
- Docker学习笔记之常见 Dockerfile 使用技巧
0x00 概述 在掌握 Dockerfile 的基本使用方法后,我们再来了解一些在开发中使用 Dockerfile 的技巧.这一小节的展现方式与之前的略有不同,其主要来自阅读收集和我自身在使用中的最佳 ...
- Docker 入门指南——Dockerfile 指令
COPY 复制文件 格式: COPY [--chown=<user>:<group>] <源路径>... <目标路径> 源路径可以是多个,甚至可以使通配 ...
- Dockerfile编写注意事项
转载自:https://blog.fundebug.com/2017/05/15/write-excellent-dockerfile/ 一.目标 更快的构建速度 更小的Docker镜像大小 更少的D ...
- Dockerfile文件参数详解
参考: https://www.jianshu.com/p/e4b31ca37043 https://blog.csdn.net/u010246789/article/details/54139168 ...
随机推荐
- caffe的model参数解析numpy多维数组的存取
在caffe的参数进行Python解析时,需要对模型的wight和bias的参数进行解析,为了提高结果解析的可读性,需要用numpy将解析的文件进行保存 此时用到np.savetxt方法和np.sav ...
- schame定义及用处
一.schame详解 http://www.cnblogs.com/Neo-ds/p/4790413.html 1.先明确一点,SQL Server中模式(schema)这个概念是在2005的版本里才 ...
- lua学习之循环求一个数的阶乘
--第3题 利用循环求n的阶乘 --参数检查是否是自然数 function IsNaturalNumber(n) ~= )then return false else return true end ...
- Spark学习之路 (十七)Spark分区
一.分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务 ...
- 【Linux学习六】用户管理
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.增加删除用户或组新增用户useradd scott修改用户密码pa ...
- TMC首秀:写作带给我生命的影响与感动
蓦然回首,写作已陪伴了我十三个年头,横跨大学.读研.工作之初.直到现在.我将分四个小乐章,分享写作给我的生命带来的影响和感动. 第一乐章:治疗与励志 说起写作的缘由,虽然可以追溯到初高中时读过的一点文 ...
- Set接口——HashSet集合
不重复,无索引,不能重复元素,没有索引: HashSet集合: 此时实现Set接口,有哈希表(HashMap的一个实例)支持,哈希表意味着查询速度很快, 是无序的,即元素的存取的顺序可能不一致: 且此 ...
- 转:专题三线程池中的I/O线程
上一篇文章主要介绍了如何利用线程池中的工作者线程来实现多线程,使多个线程可以并发地工作,从而高效率地使用系统资源.在这篇文章中将介绍如何用线程池中的I/O线程来执行I/O操作,希望对大家有所帮助. 目 ...
- navicat远程连接阿里云ECS上的MYSQL报Lost connection to MySQL server at 'reading initial communication packet'
问题现象 MySQL 远程连接报错:Lost connection to MySQL server at 'reading initial communication packet' 解决方案 1.检 ...
- cookie 和 session 的一些事 中间件
cookie 和 session cookie 1. 保存在浏览器上一组组键值对,服务器让浏览器进行设置. 2. 为什么要用cookie? HTTP协议是无状态.使用cookie保存状态. 3. dj ...