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 操作系统就行. ...
随机推荐
- Acwing272 最长公共上升子序列
题目大意:给定两个大小为n的数组,让你找出最长公共上升子序列的长度. 分析:这是一个比较好的dp题,LIS和LCS两大经典线性dp问题相结合,简称LCIS. 代码(O(n*n*n)写法): #incl ...
- PromQL操作符
PromQL操作符 使用PromQL除了能够方便的按照查询和过滤时间序列以外,PromQL还支持丰富的操作符,用户可以使用这些操作符对进一步的对事件序列进行二次加工.这些操作符包括:数学运算符,逻辑运 ...
- Android示例程序剖析之记事本(一)
Android SDK提供了很多示例程序,从这些示例代码的阅读和试验中能够学习到很多知识.本系列就是要剖析Android记事本示例程序,用意就是一步步跟着实例进行动手操作,在实践中体会和学习Andro ...
- 转linux top 命令
top 命令 每天一个linux命令(44):top命令 非常好的一篇博文,这位作者<每天一个linux命令>系列写的非常棒! 关于top的cpu使用率超过100% 在环境中会出现这种现象 ...
- 第3节 sqoop:4、sqoop的数据导入之导入数据到hdfs和导入数据到hive表
注意: (1)\001 是hive当中默认使用的分隔符,这个玩意儿是一个asc 码值,键盘上面打不出来 (2)linux中一行写不下,可以末尾加上 一些空格和 “ \ ”,换行继续写余下的命令: bi ...
- 第3节 sqoop:3、sqoop的入门测试使用
3.5. Sqoop的数据导入 “导入工具”导入单个表从RDBMS到HDFS.表中的每一行被视为HDFS的记录.所有记录都存储为文本文件的文本数据(或者Avro.sequence文件等二进制数据) 列 ...
- 洛谷 P2031 脑力达人之分割字串
题目传送门 解题思路: f[i]表示到第i位可获得的最大分割次数,对于每个f[i]都可由其符合条件的前缀转移过来,条件就是当前串除了前缀的剩余字符里有所给单词,然后一看,这不是在剩余字符里找有没有所给 ...
- C++远征--jame_yuan(慕课网)
int &a=b;引用符 int const a = 3; int *p = &a; 只读 不能 赋给 读写 有默认参数值得参数必须在参数表的最右端 void fun(int ...
- 使用linux将一个服务器上的文件或者文件夹复制黏贴到另一个服务器上
一.复制文件: (1)将本地文件拷贝到远程 scp 文件名 用户名@计算机IP或者计算机名称:远程路径 本地192.168.1.8客户端 scp /root/install.* root@10.12 ...
- SPI协议解析
1. SPI物理层 SPI通讯需要使用4条线:3条总线和1条片选 . SPI遵循主从模式,3条总线分别是SCK.MOSI和MISO,片选线为nSS(低电平有效),SPI协议适用于一主多从的工作场景: ...