0


docker 将jar包打成docker镜像

构建三步骤:

  • 编写Dockerfile文件
  • docker build 命令构建镜像
  • docker run 根据镜像运行容器实例

docker官网

不废话,直接上案例,这是本人在公司使用的打镜像方式,与上面的构建步骤略有不同。

以下文件都是在同一个目录文件夹下!!!

1、编写Dockerfile文件,通过Dockerfile文件将jar包打成镜像

FROM:

    基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板,第一条必须是FROM

EXPOSE:

    当前容器对外暴露出的端口

ENTRYPOINT:

    用来指定一个容器启动时要运行的命令,类似于 CMD 指令,但是ENTRYPOINT不会被docker run后面的命令覆盖, 而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序
#方式一:
FROM openjdk:8
EXPOSE 9099
ENTRYPOINT ["sh","/usr/data/run.sh"]

---------------------------------------

#方式二:
FROM openjdk:8-jre
#把jar包添加到镜像中
Add app.jar /usr/data/app.jar
#设置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
EXPOSE 8088
CMD java -jar /usr/data/app.jar

2、编写执行脚本(方式二不用)

很简单,就是执行jar包的命令

vim run.sh

java -jar /usr/data/app.jar

3、通过dockerfile构建镜像

将jar包上传至Dockerfile文件同一目录下,执行docker build

格式:

** docker build -f Dockerfile路径 -t 镜像名称:版本号 .**

docker build -f /home/xxx/Dockerfile -t app:1.0.0 .

注意最后有一个 “ . ” !!!

看到Successfully镜像就构建成功了。

4、查看镜像

docker images

5、运行docker镜像

docker run 
-it --log-opt max-size=1024m 
--log-opt max-file=31 --restart=always 
-d --name=app-service 
-p 9099:9099 
-v /home/xxx:/usr/data             #本地Dockerfile所在的文件目录挂载到容器内
-v /etc/localtime:/etc/localtime:ro 
-v /var/run/docker.sock:/var/run/docker.sock  
-v /usr/bin/docker:/usr/bin/docker 
app:1.0.0

-------------------------------------------

docker run -d --restart=always --privileged=true -p 80:80 --name=app app:latest

查看启动的容器

docker ps

6、将压缩成tar包镜像下载到本地

# XXX是你刚生成的镜像
docker save XXX:1.0 | gzip > XXX_1.0.tar.gz

7、将镜像部署到另一个docker容器里

docker load -i XXX_1.0.tar.gz
标签: docker jar 容器

本文转载自: https://blog.csdn.net/cn_220107/article/details/132161868
版权归原作者 一看就很聪明丶 所有, 如有侵权,请联系我们删除。

“docker 将jar包打成docker镜像”的评论:

还没有评论