简介
万事开头难,开了头再深入就不难了。
安装docker、下载镜像、运行起来这些步骤有许多文章。本文主要记录如何把自己的可执行程序打包成docker。
文件
仅三个文件:Dockerfile、Hello.class、Hello.java
放置于自定义的/home/gg/docker目录下
Hello
Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("我的第一个Java程序:Hello World。");
}
}
生成 Hello.class
javac Hello.java
java环境
docker pull java:8-jre-alpine
docker images
下载好后
REPOSITORY TAG IMAGE ID CREATED SIZE
java 8-jre-alpine fdc893b19a14 3 years ago 108MB
Dockerfile
#java镜像
FROM java:8-jre-alpine
#工作目录
WORKDIR /home/gg/docker
#Hello的路径 添加到容器
ADD ./Hello.class Hello.class
#启动命令,空格隔开
ENTRYPOINT ["java", "Hello", ">", "spring.log", "&"]
构建镜像
docker build -t hello/areyouok .
REPOSITORY TAG IMAGE ID CREATED SIZE
hello/areyouok latest 2028b24fb832 5 minutes ago 108MB
java 8-jre-alpine fdc893b19a14 3 years ago 108MB
运行镜像
docker run hello/areyouok
我的第一个Java程序:Hello World。
删除镜像
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4abf9cfc359 hello/areyouok "java Hello > spring…" About a minute ago Exited (0) About a minute ago cocky_noether
docker rm d4abf9cfc359
docker rmi 2028b24fb832
总结
- 你得有一个非docker的可执行程序
- 你清楚启动程序的命令,写到Dockerfile中
- 你需要安装启动程序所需的命令
- 通过docker运行起来,和直接运行,没有表象上的区别