docker学习(dockerfile打jar包为镜像)
2024-10-20 16:03:51
docker打包jar为docker镜像
1、使用Dockerfile打镜像
将spring boot应用打包成jar包放置在/app/applcation路径中
编写dockerfile文件,内容参考如下:
# Docker image for springboot file run
# VERSION 0.0.1
# Author: yanjl
# 基础镜像使用java
FROM s390x/adoptopenjdk:8u292-b10-jdk-openj9-0.26.0
# 作者
MAINTAINER yanjl <yanjlxue@outlook.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /app/application 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /app/application
# 将jar包添加到容器中并更名为hello.jar #前者为打包的文件 后者为修改后的自定义名字
ADD /app/application/hello.jar /app/application/hello.jar
# 运行jar包
RUN bash -c 'touch /app/application/hello.jar'
# -Djava.security.egd=file:/dev/./urandom为指定随机数生成器,可加快启动
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/application/hello.jar"]
# 暴露端口
EXPOSE 8099
项目需要java环境,可以根据自己的操作系统选择合适的jdk,可以再dockerhub官方仓库查询对应的镜像,
挂载卷可以将容器内信息映射到宿主机中,方便查阅
构建镜像,命令最后有一个点,表示当前目录,-f为指定dockerfile,-t命名镜像
docker build -f Dockerfile -t hello:1001 .
查看当前镜像
docker images
启动容器,可以使用docker logs hello 查看日志输出,-p参数表示端口映射(宿主机端口:容器内端口,-d为指定镜像文件)
docker run -p 8099:8099 -d hello:1001 --name hello
使用docker ps -a查看当前容器运行状态,-a参数表示查看所有容器(包括已终止),不加则只会显示运行中容器
docker ps -a
若要删除镜像,需要先停止容器,再删除容器,再删除镜像即可
# 停止容器
docker stop 容器名(或id)
# 删除容器
docker rm 容器名(或id)
# 删除镜像
docker rmi 镜像名:版本号(或id)
最新文章
- Squirrel: 通用SQL、NoSQL客户端
- JSP基础——属性保存范围和request对象
- Sae上传war包找不到编译文件
- shell中的case语句
- Qt Model/View(官方翻译,图文并茂)
- JavaScript:表单验证模型
- bug_ _fragment_“The specified child already has a parent. You must call removeView"的解决以及产生的原因
- JavaScript学习笔记 -- 带参数arguments的函数的用法
- Ubuntu 软件包管理详解
- 关于SQL中的Update语句
- 有两个数据库A和B,数据库A中有表a,如何把表a映射到数据库B中,sql 2005
- Lucas,.net Web框架
- Error parsing column 8 (IsRecommended=0 - SByte) Dapper查询mysql数据库可空的tinyint(1)一个错误
- 如何用shell脚本取出服务器图片
- ServletContainerInitializer初始化器
- debian9.6修改系统语言
- 【数学建模】day11-典型相关分析
- Extjs4.2+webAPI+EF实现分页以及webapi的数据传值
- 了解MQ
- PAT 1035 Password