簡介
萬事開頭難,開了頭再深入就不難了。
安裝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運行起來,和直接運行,沒有表象上的區別