天天看點

将jar包制作成docker鏡像

将jar包制作成docker鏡像 1、準備可運作jar包 2、建立Dockerfile檔案 檔案内容: FROM java:8 VOLUME /tmp ADD xxx-sendemail-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar

将jar包制作成docker鏡像

1、準備可運作jar包

2、建立Dockerfile檔案

檔案内容:

FROM java:8

VOLUME /tmp

ADD xxx-sendemail-0.0.1-SNAPSHOT.jar app.jar

RUN bash -c 'touch /app.jar'

ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar

1、FROM

格式:FROM 或 FROM :

定義基礎鏡像,後面的RUN是在此基礎上運作。第一條指令必須為FROM指令,并且,如果在同一個Dockerfile中建立多個鏡像時,可以使用多個FROM指令(每個鏡像一次)

2、ADD

格式:ADD

定義變量吧。複制指定的到容器的中,可以是Dockerfile所在的目錄的一個相對路徑;可以是URL,也可以是tar.gz(自動解壓)

注意與你的檔案名一緻

3、RUN

格式:RUN 或 RUN [“”, “”, “”]

每條指令将在目前鏡像基礎上執行,并送出為新的鏡像。(可以用“\”換行)

3、docker制作鏡像

在Ubuntu上制作的。準備工作:

Ubuntu docker安裝,參照 Ubuntu 與 Windows共享檔案

到終端存放jar包和dockfile的檔案夾下

sudo docker build -t="***" .

-t 添加tag, . 代表目前目錄(注意 “.”的存在)

4、檢視生成的image

docker images

docker images|grep xxx

 ==================

run.sh

#!/bin/bash

aa=`docker stop xxx-sendemail`
echo $aa
bb=`docker rm xxx-sendemail`
echo $bb
ca=`docker rmi xxx/sendemail-service`
echo $ca
b=`docker build -t xxx/sendemail-service .`
echo $b
docker run -d --name xxx-sendemail --restart=always xxx/sendemail-service;docker logs -f xxx-sendemail      

$ sudo chmod +x run.sh

$ ./run.sh

檢視日志(控制台輸出)

docker logs -f xxx-sendemail --tail 500

docker logs xxx-sendemail |head -n 200