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



正如我们前面提到的,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. 【jmeter】NO-GUI模式运行的过程及报错解决方法(转)

    1.什么都不需要设置(若非得想配置点什么的话,那请看备注) 2.将脚本抛到Linux里 3.执行 jmeter -n -t /opt/day7_buildbug.jmx -l result.jtl - ...

  2. Percona XtraBackup不锁库搭建slave数据库-基于GTID

    Percona XtraBackup不锁库搭建slave数据库-基于GTID 1.下载安装epel源并安装 wget http://ftp.cuhk.edu.hk/pub/linux/fedora-e ...

  3. java学习-初级入门-面向对象①-面向对象概述-结构化程序设计

    为了学习面向对象程序设计,今天我们先利用面向对象以前的知识,设计一个学生类. 要求进行结构化程序设计. 学生类: Student 要求:存储学生的基本信息(姓名.性别.学历层次和年级),实现学生信息的 ...

  4. linux vsftpd 550 create directory operation failed解决方法

    今天配置好了vsftp, 但登陆后,除了浏览,什么也干不了.(如新建文件/文件夹, 删除文件, 重命名等都不可操作) 都是弹出 "550 create directory operation ...

  5. 奇异值分解(SVD)和主成分分析(PCA)

    参考: 奇异值分解:https://www.cnblogs.com/endlesscoding/p/10033527.html 主成分分析:https://blog.csdn.net/program_ ...

  6. luogu P2756 飞行员配对方案问题(Dinic板子)

    建立一个超级源点,将每个外籍飞行员连一条capacity为1的路,一个超级汇点,每个英国飞行员也连一条capacity为1的路,根据读入在英国飞行员和外籍飞行员连接capacity为1的路,匹配方案就 ...

  7. 「NOI2009」二叉查找树

    传送门 Luogu 解题思路 看一眼题面,显然这是一颗 treap ,考虑到这棵 treap 的中序遍历总是不变的,所以我们就先把所有点按照数据值排序,求出 treap 的中序遍历,然后还可以观察到, ...

  8. python中单下划线的变量

    1._xxx 不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量.即保护类型只能允许其本身与子类进行访问.2.__xxx 双下划线的表示的是私有 ...

  9. java字符集编码乱码问题

    博客分类: web javajspservlet  最近做网页这块时碰到了正文字符乱码问题.别看这小小的一个问题,对我来说却花费了好长一段时间.现在让我慢慢分析它吧(说实话.这些有部分是从网上找的,但 ...

  10. Springboot配置文件内容加密

      使用的是jasypt-spring-boot-starter,具体介绍可以参考 https://gitee.com/yangziyi2017/Jasypt-Spring-Boot   引入依赖 & ...