使用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程序方便测试

image-20220512103634192

二、建立镜像

#建立镜像
docker build -t ujdk:18 .

image-20220512103941450

#运行一个一次性容器,并进入这个容器中
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 .

image-20220512111404385

三、运行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

image-20220512112331777

#创建一次性容器并进入
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值