版权所有,未经许可,禁止转载



正如我们前面提到的,docker可以执行任何应用程序。

我们将创建一个Java应用程序,并使用docker运行它。

1. 创建项目目录

我们会把这个项目的相关文件,集中放到一个目录docker-java

[root@qikegu demo]# mkdir docker-java

2. 创建Java文件

docker-java目录下,创建一个Java文件:

Qikegu.java


class Qikegu{
public static void main(String[] args){
System.out.println("This is java docker app - qikegu.com \n");
}
}

3. 创建Dockerfile

创建Java文件之后,我们需要创建一个Dockerfile,其中包含了Docker的指令。在docker-java目录下创建Dockerfile,文件名必须是Dockerfile

Dockerfile

FROM java:8
COPY . /var/www/java
WORKDIR /var/www/java
RUN javac Qikegu.java
CMD ["java", "Qikegu"]

所有指令都大写,这是惯例。

现在docker-java目录下有2个文件:

[root@qikegu docker-java]# ls
Dockerfile Qikegu.java

4. 构建 Docker 镜像

切换到docker-java目录,运行docker build -t qikegu-java .命令,构建Docker镜像。Docker镜像可以任意取名,此处命名为qikegu-java


[root@qikegu docker-java]# docker build -t qikegu-java .
Sending build context to Docker daemon 3.072kB
Step 1/5 : FROM java:8
---> d23bdf5b1b1b
Step 2/5 : COPY . /var/www/java
---> Using cache
---> 7f24b5fc6fb6
Step 3/5 : WORKDIR /var/www/java
---> Using cache
---> 2eacd7222454
Step 4/5 : RUN javac Qikegu.java
---> Using cache
---> bf254a2eec11
Step 5/5 : CMD ["java", "Qikegu"]
---> Using cache
---> 1842ec92df2d
Successfully built 1842ec92df2d
Successfully tagged qikegu-java:latest
[root@qikegu docker-java]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
qikegu-java latest 1842ec92df2d 13 minutes ago 643MB
<none> <none> 327ab0702d14 14 minutes ago 643MB
...

这里,最后使用docker images查看镜像,可以看到构建镜像成功。接下来就可以运行镜像了。

5. 运行 Docker 镜像

执行docker run qikegu-java命令运行镜像:

[root@qikegu docker-java]# docker run qikegu-java
This is java docker app - qikegu.com [root@qikegu docker-java]#

可以看到,qikegu-java镜像成功运行,输出了一条信息。

Docker Java 例子的更多相关文章

  1. Docker NGINX 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  2. Docker Ubuntu 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  3. Docker PHP 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  4. Docker Python 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  5. Docker Java程序镜像制作

    Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...

  6. Docker&Java&Mysql&Python3&Supervisor&Elasticsearch安装

    目录 docker 安装java 安装mysql 安装Mysql8 安装python3 安装supervisor 安装ElasticSearch 打包images docker yum install ...

  7. Docker Java应用日志时间和容器时间不一致

    1.在docker容器和系统时间不一致是因为docker容器的原生时区为0时区,而国内系统为东八区. 2.还有容器中运行的java应用打出的日志时间和通过date -R方式获取的容器标准时间有八个小时 ...

  8. ZooKeeper Java例子(六)

    A Simple Watch Client 为了向你介绍ZooKeeper Java API,我们开发了一个非常简单的监视器客户端.ZooKeeper客户端监视一个ZooKeeper节点的改变并且通过 ...

  9. Docker Java+Tomcat 环境搭建

    软件环境:jdk.tomcat.docker.centos.虚拟机 首先,您要准备一个 CentOS 的操作系统,虚拟机也行.总之,可以通过 Linux 客户端工具访问到 CentOS 操作系统就行. ...

随机推荐

  1. darknet简述

    概述 darknet官网:https://pjreddie.com/darknet/    https://github.com/AlexeyAB/darknet Darknet是一个比较小众的深度学 ...

  2. ubuntu 12.04 配置vsftpd 服务,添加虚拟用户,ssl加密

    1.对于12.04的vsftpd 有一些bug,推荐安装版本vsftpd_2.3.5-1ubuntu2ppa1_amd64.debapt-get install python-software-pro ...

  3. C#委托-事件示例

    Program.cs using System;using System.Collections.Generic;using System.Linq;using System.Text;using S ...

  4. Jsp有哪些内置对象?作用分别是什么?

    Page,pageContext,request,response,session,application,out,config,exception Page指的是JSP被翻译成Servlet的对象的 ...

  5. matplotlib画图的时候显示不出中文和负号的解决办法

    import matplotlib.pyplot as pltfrom pylab import * plt.rcParams['font.sans-serif'] = ['SimHei'] #显示中 ...

  6. Metasploit学习笔记——社会工程学

    1.社会工程学攻击案例——伪装木马 Linux命令终端输入命令msfvenom -l payloads用来列出攻击载荷,grep命令用来查询所需要的攻击载荷,条件是windows系统.要有回连至监听主 ...

  7. Unity3d fbx纹理不显示 原因

    Unity3d 导入fbx文件后纹理不显示(3ds Max中显示正常) 原因: 1.纹理图片没有导入fbx同一文件夹中 2.纹理图片没有在fbx文件之前导入(现导入纹理图片,再导入fbx文件)

  8. [Struts]Token 使用及原理

      Struts Token 使用 1,先在一个Action中,调用saveToken(HttpServletRequest request)方法.然后转向带有表单的JSP页面. 2,在JSP页面提交 ...

  9. JuJu团队1月8号工作汇报

    JuJu团队1月8号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 飞飞 实现三维Dense 将crossentrophy和softmax连接起来 无 婷婷 完善main.jl ...

  10. 51nod 1378:夹克老爷的愤怒 很好玩的一道树状dp

    1378 夹克老爷的愤怒 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  取消关注 夹克老爷逢三抽一之后,由于采用了新师爷的策略,乡民们叫苦不堪,开始组织 ...