Docker的使用可以将应用程序做成镜像,这样可以将镜像发布到私有或者公有仓库中,在其他主机上也可以pull镜像,并且运行容器,运行程序。本文主要简单介绍一下如何通过Docker将Java程序创建成一个镜像。

1.建立工作目录

cd java_demo

利用docker制作Java程序镜像

2.编写程序

        由于简单演示,主要写一个Main.java的程序,代码如下:

import java.util.*;
public class Main{

	public static int solve(int a,int b){
	
		int ans = 0;
		for(int i=0;i<=a;i++){
			ans=ans+a*b;
		}
		return ans;
	}

	public static void main(String[] args){
	
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		System.out.println(solve(a,b));
	
	
	}


}

 3.Dockerfile文件的编写

FROM java:latest
#将当前目录复制到/usr/src/myapp
COPY . /usr/src/myapp
#建立工作目录
WORKDIR /usr/src/myapp

#运行命令
RUN javac Main.java
#自启动命令
CMD ["java","Main"]

 4.制作镜像

cd ~
cd java_demo
sudo docker build -t my-java:first .

利用docker制作Java程序镜像

查看本地镜像:

利用docker制作Java程序镜像

 5.上传镜像到私有仓库

        私有仓库的建立已经在前面详细介绍过了,有需要的可以看Ubuntu中利用Docker建立一个私有仓库(可以供远程访问)一文,这里私有仓库的EndPoint(ip:port)为218.197.198.84:5000。

sudo docker tag my-java:first 218.197.198.84:5000/my-java:first
sudo docker push 218.197.198.84:5000/my-java:first

利用docker制作Java程序镜像

检测私有仓库有没有该镜像:

curl 218.197.198.84:5000/v2/_catalog
curl 218.197.198.84:5000/v2/my-java/tags/list

 

利用docker制作Java程序镜像

6.测试验证

        在一台安装了Docker的win10主机上下拉镜像并运行容器进行验证。

docker pull 218.197.198.84:5000/my-java:first
docker run -it 218.197.198.84:5000/my-java:first

 

利用docker制作Java程序镜像

 

相关文章: