Docker Java 例子
版权所有,未经许可,禁止转载
章节
正如我们前面提到的,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 例子的更多相关文章
- Docker NGINX 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker Ubuntu 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker PHP 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker Python 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
- Docker Java程序镜像制作
Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...
- Docker&Java&Mysql&Python3&Supervisor&Elasticsearch安装
目录 docker 安装java 安装mysql 安装Mysql8 安装python3 安装supervisor 安装ElasticSearch 打包images docker yum install ...
- Docker Java应用日志时间和容器时间不一致
1.在docker容器和系统时间不一致是因为docker容器的原生时区为0时区,而国内系统为东八区. 2.还有容器中运行的java应用打出的日志时间和通过date -R方式获取的容器标准时间有八个小时 ...
- ZooKeeper Java例子(六)
A Simple Watch Client 为了向你介绍ZooKeeper Java API,我们开发了一个非常简单的监视器客户端.ZooKeeper客户端监视一个ZooKeeper节点的改变并且通过 ...
- Docker Java+Tomcat 环境搭建
软件环境:jdk.tomcat.docker.centos.虚拟机 首先,您要准备一个 CentOS 的操作系统,虚拟机也行.总之,可以通过 Linux 客户端工具访问到 CentOS 操作系统就行. ...
随机推荐
- jqGrid一次性读取本地数据
参考:http://blog.sina.com.cn/s/blog_54da57aa010154r7.html
- 二十三、java连接oracle数据库操作:jdbc
1.jdbc 1) 含义:JDBC是java语言连接数据库,Java Date Base Connectivity2) jdbc的本质:在编程时java程序会去连接不同的数据库,而每个数据库的底层的实 ...
- Java-Study
java中static用法: static :静态的,用于修饰成员(成员变量,成员方法): 1. 被static所修饰的变量或者方法会储存在数据共享区: 2. 被static所修饰的成员变量只有一份: ...
- 「译」forEach循环中你不知道的3件事
前言 本文925字,阅读大约需要7分钟. 总括: forEach循环中你不知道的3件事. 原文地址:3 things you didn't know about the forEach loop in ...
- Day3-R-Aggressive cows POJ2456
Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are locat ...
- Day3-K-Can you solve this equation? HDU2199
Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its solution between 0 and ...
- 厉害了!SpringBoot是如何动起来的!
程序入口 SpringApplication.run(BeautyApplication.class, args); 执行此方法来加载整个SpringBoot的环境. 1. 从哪儿开始? Spring ...
- C语言学习从入门到精通书籍,10万读者都认可
C语言程序设计从入门到精通 10万读者认可的编程图书精粹 零基础自学编程的入门图书 详解C语言编程思想和核心技术 很多初学者,对C语言.c++的概念都是模糊不清的,C语言.c++是什么,能做什么,学的 ...
- 1-8SpringBoot之切面AOP
SpringBoot提供了强大AOP支持,我们前面讲解过AOP面向切面,所以这里具体AOP原理就补具体介绍: AOP切面主要是切方法,我们一般搞一些日志分析和事务操作,要用到切面,类似拦截器: @As ...
- 【C#】关于左移/右移运算符的使用
吐槽先~为什么我的老师大学时候没教过我这东西 - -. 继续送栗子: 比如 “(1+2)<<3” 你们猜等于几~ Debug.Log((1+2)<<3)之后输出的是“24”. ...