将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

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

注:这种jar包需要打包Runnable JAR才行

将jar包制作成docker镜像_第1张图片

 

你可能感兴趣的:(运维,java,操作系统)