將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
docker運行多個jar、1、FROM
格式:FROM 或 FROM :
定義基礎鏡像,后面的RUN是在此基礎上運行。第一條指令必須為FROM指令,并且,如果在同一個Dockerfile中創建多個鏡像時,可以使用多個FROM指令(每個鏡像一次)
2、ADD
java深拷貝。格式:ADD
定義變量吧。復制指定的到容器的中,可以是Dockerfile所在的目錄的一個相對路徑;可以是URL,也可以是tar.gz(自動解壓)
注意與你的文件名一致
3、RUN
docker將當前系統打包鏡像。格式:RUN 或 RUN [“”, “”, “”]
每條指令將在當前鏡像基礎上執行,并提交為新的鏡像。(可以用“\”換行)
3、docker制作鏡像
在Ubuntu上制作的。準備工作:
docker部署jar,Ubuntu docker安裝,參照 Ubuntu 與 Windows共享文件
到終端存放jar包和dockfile的文件夾下
sudo docker build -t="***" .
-t 添加tag, . 代表當前目錄(注意 “.”的存在)
4、查看生成的image
docker images
docker images|grep xxx
?==================
制作docker鏡像centos。run.sh
#!/bin/bashaa=`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
docker部署jar包,注:這種jar包需要打包Runnable JAR才行
?