`
qq362228416
  • 浏览: 34409 次
社区版块
存档分类
最新评论

构建一个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的容器里面。

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    docker 的java编译环境构建详细介绍

    主要介绍了docker 的java编译环境构建详细介绍的相关资料,具有一定的参考价值,需要的朋友可以参考下

    利用 Docker 构建简单的 java 开发编译环境的方法详解

    目前 Java 语言的版本很多...我们可以采用两种方式来构建 java 的开发环境,一种是在容器内编译运行,一种是在容器外编译运行,下面分别来看看具体如何操作。 准备工作:首先确保已经安装了 Docker ,如果方便可以提前

    docker 的java镜像

    构建过程通常包括将源代码编译成可执行文件,然后创建一个新的Docker镜像,这个镜像包含了运行Java应用所需的所有文件和依赖。 对于需要打包成Docker镜像的Java应用来说,了解如何选择合适的Java基础镜像是非常重要...

    一个简单的java例子,演示怎么在docker上跑起来

    通过执行Dockerfile中的指令,可以构建出一个包含Java运行环境的Docker镜像。 接下来是README.md文件,它是项目文档的标准格式文件。在这个文件中,开发者会提供关于如何安装和运行Java应用的详细步骤,以及可能...

    ubuntu 下面编译linphone 的全部过程 包括java等环境的搭建

    Belle-SIP 是 Linphone 依赖的一个库,用于处理 SIP 协议。 1. **安装依赖库** - 使用 `sudo apt-get install libantlr3c-3.2` 和 `sudo apt-get install antlr3` 安装必要的库。 2. **构建与安装 Belle-SIP** ...

    docker离线镜像资源jdk17镜像

    Docker镜像是一种轻量级、可执行的独立软件包,包含了运行某个软件所需的所有内容,可以看作是一个包含运行环境和配置的“集装箱”。其中,Java开发工具包(JDK)是开发Java应用程序不可或缺的环境,而JDK 17作为...

    Java基础-环境搭建

    安装好Docker后,用户可以通过Dockerfile来构建一个包含所需Java环境的镜像。 一个基本的Dockerfile内容可能包括: 1. 拉取一个基础镜像,通常是Linux发行版,例如Ubuntu或者CentOS。 2. 安装JDK,可以通过运行安装...

    Java中Docker容器的工作原理与实现

    容器启动速度快,属于秒级别,资源占用少,性能损耗小,因为它们在操作系统级别进行虚拟化,更轻量,共用一个内核和共享应用程序库,对系统的利用率高。 在Java应用中,Docker的使用能大幅提高应用的可移植性和部署...

    实战Docker+Jenkins+Git+Registry构建持续集成环境

    Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins 可以自动化 Java 项目的编译、测试和发布过程。 ...

    openjdk11 docker 离线包

    当我们提到“openjdk11 docker 离线包”,这通常意味着一个包含OpenJDK 11版本的Java运行时环境和可能的附加库,这些都被打包在一个Docker镜像中,且该镜像是在没有互联网连接的情况下可以使用的。离线包解决了一些...

    基于Spring Cloud、RabbitMQ和Docker的Java在线判题系统代码沙箱设计源码

    基于Spring Cloud、RabbitMQ和Docker的Java在线判题系统代码沙箱设计源码项目是一个以Java语言为核心,结合Spring Cloud微服务架构、RabbitMQ消息队列技术、以及Docker容器技术的在线编程判题系统。该项目能够为编程...

    Java Web应用的容器化部署:Docker实战指南

    Java Web应用的容器化部署已经成为当前开发和运维管理的主流趋势之一,Docker作为一个强大的容器化平台,极大地简化了应用的部署流程和运维工作。本文详细介绍了使用Docker进行Java Web应用的容器化部署的实战流程,...

    一个无需Runtime可以快速构建 OCI/Docker 镜像的工具

    在没有Docker/Containerd等容器引擎环境下构建简单镜像,兼容 Dockerfile 大部分配置项,降低上手难度,支持 OCI 和 Docker 镜像格式,并支持互相转换,支持镜像Pull和Push时使用 socks5/http 代理,一个单独的二...

    ubuntu下java可用的gdal库及使用示例代码

    描述中提到“在ubuntu 10.04下编译JAVA可用的GDAL 1.6”,这涉及到一个关键步骤——GDAL的编译和Java绑定。首先,你需要安装GDAL的源代码,并在Ubuntu 10.04上配置、编译和安装。这个过程中可能需要用到诸如`...

    安装Jenkins,容器编译构建java代码

    在当前的软件开发环境中,自动化构建和部署是一个重要的环节,可以大幅度提升开发效率和代码质量。特别是在容器化技术日益流行的背景下,Jenkins作为一个开源的自动化服务器,已经成为持续集成和持续部署(CI/CD)的...

    Gitllab+Jenkins+Docker+Harbor 自动化部署流程

    Docker 是一个容器化技术,提供了一个轻量级的虚拟化解决方案,使得开发者可以快速地构建、部署和管理应用程序。 Docker 允许开发者将应用程序打包到一个容器中,并在任何支持 Docker 的环境中运行。 在自动化部署...

    一个快速的编译,部署,和运行 Java 项目的小工具.zip

    1. **Java编译**:Java程序在运行前需要通过Java编译器(javac)将源代码(.java文件)转换成字节码(.class文件)。这个过程叫做JVM(Java虚拟机)可理解的中间表示形式。编译器会检查源代码的语法和类型,并生成...

    Docker部署前后端若依项目实战,不适用docker-compose版本,所用jar包,dist页面,sql文件

    3. **构建Docker镜像**:对于不使用docker-compose的情况,开发者需要手动编写Dockerfile。Dockerfile是一个文本文件,包含了所有创建Docker镜像所需的命令和参数。通常,一个基本的Dockerfile可能包含以下命令: ...

    cyborg:将Java项目编译成最小的Docker映像

    在当前目录中生成可执行文件 docker run -ti -v $(pwd):/build sillelien/cyborg-builder:0.1 从当前目录构建Docker映像这会基于在当前目录中构建一个有效的Docker映像-因此它们很小。 docker run -ti -v /var/run/...

Global site tag (gtag.js) - Google Analytics