使用docker容器运行java程序
使用docker容器运行java程序
java 18
一、文件准备
mkdir 11
cd 11
创建并进入目录
docker pull ubuntu:22.04
wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz
#sudo vim dockerfile内容如下
From ubuntu:22.04
Maintainer webrx "webrx@126.com"
#把java添加到容器中
Add jdk-18_linux-x64_bin.tar.gz /usr/local
Run mv /usr/local/jdk-18.0.1.1 /usr/local/jdk
Env JAVA_HOME /usr/local/jdk
Env CLASSPATH .:$JAVA_HOME/lib
Env PATH .:$PATH:$JAVA_HOME/bin
Workdir /tmp
Volume /tmp
随便写一个java程序方便测试
二、建立镜像
#建立镜像
docker build -t ujdk:18 .
#运行一个一次性容器,并进入这个容器中
summer@us:~/11$ docker run -it --rm ujdk:18 /bin/bash
root@f7d445daab22:/tmp#root@f7d445daab22:/tmp# java --version
java 18.0.1.1 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)
三、运行java程序测试
summer@us:~/11$ ls
Demo.java dockerfile jdk-18_linux-x64_bin.tar.gz
summer@us:~/11$ mkdir app
summer@us:~/11$ cp Demo.java app/
#便于创建挂载目录
summer@us:~/11$ cd app
summer@us:~/11/app$ ls
Demo.java
1.不编译直接运行
summer@us:~/11/app$ docker run -it --rm -v ~/11/app:/tmp ujdk:18 java Demo.java
hello world
18.0.1.1
/usr/local/jdk
Linux
1+2+3+4...+100=5050
2.先编译在运行
summer@us:~/11/app$ docker run -it --rm -v ~/11/app:/tmp ujdk:18 javac Demo.java
summer@us:~/11/app$ ls
Demo.class Demo.java hsperfdata_root
summer@us:~/11/app$ docker run -it --rm -v ~/11/app:/tmp ujdk:18 java Demo
hello world
18.0.1.1
/usr/local/jdk
Linux
1+2+3+4...+100=5050
java 17
一、准备文件
summer@us:~/17$ ls
Demo.java f7 jdk-17_linux-x64_bin.tar.gz
summer@us:~/17$ cat f7
From ubuntu:22.04
Maintainer webrx "webrx@126.com"
#把java添加到容器中
Add jdk-17_linux-x64_bin.tar.gz /usr/local
Run mv /usr/local/jdk-17.0.3.1 /usr/local/jdk
Env JAVA_HOME /usr/local/jdk
Env CLASSPATH .:$JAVA_HOME/lib
Env PATH .:$PATH:$JAVA_HOME/bin
Workdir /tmp
Volume /tmp
二、建立镜像
docker build -t ujdk:17 -f f7 .
三、运行java程序测试
summer@us:~/17$ docker run -it --rm -v ~/11/app:/tmp ujdk:17 java Demo.java
hello world
17.0.3.1
/usr/local/jdk
Linux
1+2+3+4...+100=5050
docker pull openjdk:18
docker pull openjdk:18
#创建一次性容器并进入
summer@us:~$ docker run -it --rm -v ~/11/app:/tmp openjdk:18 /bin/bash
bash-4.4#
2、运行Java程序
summer@us:~$ docker run -it --rm -v ~/11/app:/tmp openjdk:18 java /tmp/Demo.java
hello world
18-ea
/usr/java/openjdk-18
Linux
1+2+3+4...+100=5050
使用docker容器运行java程序相关推荐
- Docker容器运行GUI程序的方法(直接进入Docker容器运行或通过SSH连接Docker容器运行)
以下两种方法都需要先在主机执行 xhost + 命令,若无该命令,先apt安装 x11-xserver-utils 后再执行,否则会报 No protocol specified 这个错 sudo a ...
- docker 容器运行 golang程序_「Docker」 - 运行 amp; 管理容器
容器是基于容器技术所建立和运行的轻量级应用运行环境,它是Docker封装和管理应用程序或微服务的「集装箱」,在Docker中,容器是最核心的部分. 一.容器的创建和启动 Docker容器的生命周期里分 ...
- java对docker_如何在docker中运行java程序
吃鸡游戏 创建一个redis docker容器首先,我们先为redis创建一个DockerfileFROM ubuntu:12.10RUN apt-get updateRUN apt-get -y i ...
- Docker(3):docker运行nginx实例以及在java容器中运行java程序
一.目的 通过运行nginx可以充分理解运行镜像原理,以及镜像内部虚拟网络端口和服务器端口的桥接关系.同时,使用java容器,编译java文件,并且运行java程序. 二.docker运行nginx镜 ...
- 【Docker】在Docker容器中编写运行java程序
1.首先先启动jdk容器或通过镜像创建一个新的jdk容器(jdk镜像下载在这里不做赘述) 2.进入容器中,并创建一个.java文件 3.在.java文件中编写java程序 4.运行java程序,得到输 ...
- docker使用dockerfile方式运行java程序
docker使用dockerfile方式运行java程序 1,下载基础java环境镜像java:8 2,创建文件夹并进入: mkdir dockerfile cd dockerfile 3,打包好的j ...
- docker和java容器_使用Docker容器和Java EE进行持续交付
docker和java容器 组织需要一种使应用程序交付快速,可预测和安全的方法,而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标. 对于Java EE应用程序,这可以在容器中打 ...
- 使用Docker容器和Java EE进行持续交付
组织需要一种使应用程序交付快速,可预测和安全的方法,而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标. 对于Java EE应用程序,这可以在容器中打包应用程序,应用程序服务器和 ...
- Docker创建一个java程序镜像
Docker创建一个java程序镜像 什么是Dockerfile 指令及其说明 个人镜像创建流程 Dockerfile文件创建 使用docker build命令构建镜像 运行镜像 附文件目录结构 什么 ...
最新文章
- 通俗易懂!《图机器学习导论》(附链接)
- java 视图对象转换,使用spring boot开发时java对象和Json对象转换的问题_JavaScript_网络编程...
- 2022年美国大学生数学建模竞赛常见问题汇总
- 原来以为(Trie)字典树很难,后来发现不久这么一回事嘛
- asp.net mvc 权限过滤和单点登录(禁止重复登录)
- ES6 模块化操作
- android手机拍摄权限,react-native 手机拍照权限
- 某大厂JVM常见面试题(二)吐血整理
- 要毕业了,我应该做点啥?
- tomcat7.0.55配置单向和双向HTTPS连接
- 全套Java基础视频教程,2020最全的java自学路线图
- BIOS里的 CSM 是什么意思?
- 简述T568A和T568B的区别
- robots.txt文件信息泄漏
- MEION:Costas环 环路滤波器参数设置程序
- Linux drcom
- 流行的权限管理 gem devise的定制
- 吴裕雄--天生自然 诗经:鹊踏枝·谁道闲情抛弃久
- 张萌韩墨羽——打包升级兼容适配
- ECharts series动态加载 可执行方案