14.2 Java

Java是一种拥有跨平台、面向对象、泛型编程特点的编译型语言,广泛应用于企业级应用开发和移动应用开发领域,由SUN公司在1995年推出。Java是基于类的面向对象的高级语言,其设计理念是尽可能的减少部署依赖,致力于“开发一次,到处运行”。这就意味着Java的二进制编码不需要再次编译,即可运行在异构的JVM上。Java在大型互联网项目,特别是互联网金融和电子商务项目中非常受欢迎。

14.2 Java - 图1

在容器中运行Java代码最简单的方法就是将Java编译指令直接写入Dockerfile。然后使用此Dockerfile构建并运行此镜像,即可启动程序。

在本地新建一个空目录,在其中创建Dockerfile文件。在Dockerfile中,加入需要执行的Java编译命令,例如:


  1. FROM java:7
  2. COPY . /usr/src/javaapp
  3. WORKDIR /usr/src/javaapp
  4. RUN javac HelloWorld.java
  5. CMD ["java", "HelloWorld"]

使用此Dockerfile构建镜像java-image:


  1. $ docker build -t java-image .

然后,运行此镜像即自动编译程序并执行:


  1. $ docker run -it --rm --name java-container java-image
  2. Hello, World

如果只需要在容器中编译Java程序,而不需要运行,则可以使用如下命令:


  1. $ docker run --rm -v "$(pwd)":/usr/src/javaapp -w /usr/src/javaapp java:7 javac
  2. HelloWorld.java