docker打包運行簡易demo

簡介

萬事開頭難,開了頭再深入就不難了。
安裝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

總結

  1. 你得有一個非docker的可執行程序
  2. 你清楚啓動程序的命令,寫到Dockerfile中
  3. 你需要安裝啓動程序所需的命令
  4. 通過docker運行起來,和直接運行,沒有表象上的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章