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)

docker学习(dockerfile打jar包为镜像)的更多相关文章

  1. 如何使用dockerfile将jar包生成镜像

    1.编写dockersfile FROM java:8 ADD SPRINGCLOUD.jar app.jar RUN bash -c ‘touch /app.jar’ ENTRYPOINT [&qu ...

  2. Docker部署web项目-jar包

    一.Docker部署web项目-jar包 ①搜索mysql镜像 docker search mysql ②拉取镜像至本地仓库(本文选取的mysql镜像5.7版本) docker pull mysql/ ...

  3. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  4. Docker Alpine Dockerfile 安装nginx,最小镜像

    Docker Alpine Dockerfile 安装nginx,最小镜像 FROM alpine MAINTAINER will ## 将alpine-linux:apk的安装源改为国内镜像 RUN ...

  5. 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件

    概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...

  6. Docker学习——Dockerfile

    上一篇我们讲了docker的基本使用,掌握了前一篇,docker使用基本不成问题,但是要是你学习了Dockerfile,你会发现它使用起来有多方便了.项目最终部署时,我们希望docker容器打开时项目 ...

  7. 将java的项目jar包打成镜像

    一.镜像.容器相关知识的概述 Docker 镜像 docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷.环境变量 ...

  8. docker配置容器运行jar包

    拉取jdk镜像文件 # docker pull huanwei/alpine-oraclejdk8 创建文件夹编写Dockerfile文件 # mkdir docker # vi Dockerfile ...

  9. Docker进阶-Dockerfile建立一个自定义的镜像执行自定义进程

    前言 docker对我来说是一个很方便的工具,,上一篇文章也写了docker基本的一些使用,这篇文章重点描述一下Dockerfile的使用,从零建立一个自己定制化的镜像,并可以执行我们需要的任务. 作 ...

  10. Docker学习笔记之保存和共享镜像

    0x00 概述 让 Docker 引以为傲的是它能够实现相比于其他虚拟化软件更快的环境迁移和部署,在这件事情上,轻量级的容器和镜像结构的设计无疑发挥了巨大的作用.通过将容器打包成镜像,再利用体积远小于 ...

随机推荐

  1. drf-序列化字段及参数、序列化和反序列化高级用法、ModelSerializer使用

    1.序列化类常用字段和字段参数 1.1 常用字段类 1.BooleanField 2 NullBooleanField 3 CharField CharField(max_length=None, m ...

  2. react无效渲染优化--工具篇

    壹 ❀ 引 本文属于我在公司的一篇技术分享文章,它在我之前 React性能优化,六个小技巧教你减少组件无效渲染一文的基础上进行了拓展,增加了工具篇以及部分更详细的解释,所以内容上会存在部分重复,以下是 ...

  3. 【EFCore框架】支持多数库 、支持读写分离框架、支持事务提交保存、跨库实现事务

    1.支持多数库: 数据库上下文实现 多数据支持: 2. 支持读写分离框架(支持多从库随机) 工作单元(以及仓储)实现读写分离 配置文件: 3. 支持事务提交保存 工作单元 实现事务数据统一提交保存 具 ...

  4. .Net Core中使用NEST简单操作Elasticsearch

    C#中访问Elasticsearch主要通过两个包NEST和Elasticsearch.Net,NEST用高级语法糖封装了Elasticsearch.Net可以通过类Linq的方式进行操作,而Elas ...

  5. 2021级《JAVA语言程序设计》上机考试试题6

    首先管理员页面 代码: <%@ page language="java" contentType="text/html; charset=UTF-8" p ...

  6. [代码审计基础 03]-RCE-fork,system,execve

    RCE-fork,system,execve 简单来讲: 数据流进入了控制流 紧紧抓住输入 不同数据层的交汇处,往往是漏洞点 远程代码执行 PHP eval() assert() preg_reple ...

  7. MySQL插入数据的多种方式

    插入数据的多种方式 replace关键字插入数据 语法: REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [PARTITION (partition_ ...

  8. 微信小程序之permission字段

    最近查看我发布的小程序出了问题,没有显示天气,打开文件查看,出现如下提示 那么如何解决呢 在 app.json 里面增加 permission 属性配置然后在app.json中添加代码 整个app.j ...

  9. 柯尼卡美能达C226打印机安装使用说明

    安装驱动,选择通过IP地址安装 输入打印机IP 点击完成即可使用

  10. Word18 制作家长会通知office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...