docker 的java编译环境构建详细介绍
作者:来自地球的外星人 发布时间:2023-02-10 04:08:30
标签:docker,java,编译环境
用Dockerfile 构建一个java的编译环境,这里整理下实现步骤:
1、包括以下软件包
ubuntu
jdk
maven
svn
2、jdk、maven 需要手动下载,下载之后分别为
jdk-8u51-linux-x64.gz
apache-maven-3.3.3-bin.tar.gz
3、创建一个Dockerfile文件,包含以下内容
FROM ubuntu
RUN apt-get update
RUN apt-get -y install subversion
ADD jdk-8u51-linux-x64.gz /usr/local
ADD apache-maven-3.3.3-bin.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_51
ENV M2_HOME /usr/local/apache-maven-3.3.3
ENV PATH $PATH:$JAVA_HOME/bin:$M2_HOME/bin
简单的说一下上面的意思,就是基于ubuntu创建一个镜像,然后更新软件源,接着安装svn,然后把下载的jdk、maven添加到镜像,并放置到/usr/local目录,这里我添加的是一个压缩包,在构建镜像的适合,系统会自动解压,并且镜像里面也不会有压缩的文件,最后再设置环境变量
4、最后开始构建镜像
docker build -t dev .
构建完成之后,可以用Docker images看到多了一个叫dev的镜像,这就是我们创建的,这里要注意的一点就是Dockerfile文件跟之前下载的压缩包是在同一个目录的,而且运行上面打包命令的时候也要确保在Dockerfile所在目录。
5、启动
docker run -i -t dev
启动之后,输入Java 、mvn、svn,是不是都装好了,之后就可以在这个容器里面把代码从svn上面下载下来,然后再通过maven打包,然后部署到包含tomcat的容器里面。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/qq362228416/article/details/47060383
0
投稿
猜你喜欢
- Map的存储结构式Key/Value形式,Key 和 Value可以是普通类型,也可以是自己写的JavaBean(本文),还可以是带有泛型的
- 前言C# 11 中即将到来一个可以让重视性能的开发者狂喜的重量级特性,这个特性主要是围绕着一个重要底层性能设施 ref 和 struct 的
- 配置java环境变量这里是将环境变量配置在etc/profile,即为所有用户配置JDK环境。sudo vi /etc/profile配置环
- Spring 配置文件报错:元素 "context:component-scan" 的前缀 "context&
- Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件
- 前言上一篇我们介绍了使用 sqflite 这个数据库工具在 Flutter 的应用中建立本地数据库的实例应用。了解过数据库的同学应该会知道,
- 众所周知Web服务器与客户端之间的通信是使用HTTP协议的。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。因为HTTP协议是基于
- 目录Map的computeIfAbsent使用场景和方法常规实现使用computeIfAbsent方法实现Map中computeIfAbse
- 线程中断机制提供了一种方法,用于将线程从阻塞等待中唤醒,尝试打断目标线程的现有处理流程,使之响应新的命令。Java 留给开发者这一自由,我们
- 在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串。我们可以通过@Request
- 程序员日常工作中,发送http请求特别常见。本文以Java为例,总结发送http请求的多种方式。1. HttpURLConnection使用
- 本文需求实现了java通过方向键控制小球移动的具体过程,供大家参考,具体内容如下需求分析:第一 要画出一个小球第二 要能通过控制方向键控制它
- 1、右值1.1 简介首先区分一下左右值:左值是指存储在内存中、有明确存储地址(可取地址)的数据;右值是指可以提供数据值的数据(不可取地址)如
- 质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本
- 前言Exchange(交换器)顾名思义,它是用来实现两个线程间的数据交换的,它诞生于 JDK 1.5,它有两个核心方法:exchange(V
- 一:hibernate-validator 基础1. 简介:通过使用注解Annotations 给类或者类的属性加上约束(constrain
- 1.抽奖主界面2.操作步骤S键开始;0、1、2、3、4、5键分别对应6次奖项;分别是 特等奖、一等奖、二等奖、三等奖、四等奖、五等奖9键是加
- 选取单个元素直觉来说选取单个元素肯定会比选取多个要简单得多,不过这里也存在一些问题。我们先看下一般的做法的问题是什么,然后再看下如何用lam
- Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初
- 最近在做项目的过程中 需要用JWT做登录和鉴权 查了很多资料 都不甚详细有的是需要在application.yml里进行jwt的配置 但我在