云原生(3)-Docker打包自己的第一个应用镜像

简介: Docker打包自己的第一个应用镜像

使用Docker打包自己的第一个SpringBoot应用镜像

首先有一个自己的SpringBoot应用Jar包

1. 编写Dockerfile

FROM openjdk:8u312-jdk-oracle

LABEL maintainer=zhangyao

COPY target/*.jar /app.jar


ENTRYPOINT ["java","-jar","/app.jar"]

解释下命令

  • FROM 指定基础镜像,此处使用openjdk8的镜像
  • LABLE 指定镜像的作者
  • COPY 以Dockerfile所在目录为开始,将指定路径下的jar包拷贝到镜像环境下的对应目录下,如上将target下的所有jar包拷贝到镜像根目录下并改名为app.jar
  • ENTRYPOINT 容器启动后的命令

2.打包编译镜像

将编写好的target包和Dockerfile上传到linux服务器

# 打包镜像命令 注意最后一个. 指定Dockerfile中COPY的相对路径 此处省略了-f [Dockerfile路径] 默认会使用当前路径下的Dockerfile文件

docker build -t [镜像名]:[标签] .


3.运行docker容器

docker run --name myapp -d -p 8080:8080 [镜像名]

目录
相关文章
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2673 101
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
642 100
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
669 99
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
1035 98
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
1116 6
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
911 2
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
493 8
|
Cloud Native NoSQL Java
云原生时代必须具备的核心技能之Docker高级篇(DockerCompose-容器编排)
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
云原生时代必须具备的核心技能之Docker高级篇(DockerCompose-容器编排)
|
Cloud Native Java 关系型数据库
云原生时代必须具备的核心技能之Docker高级篇(Docker实战之SpringBoot项目部署)
上篇文章介绍了如何搭建MySQL的高可以集群,那么本文就继续在这个基础上我们实现一个具体的SpringBoot项目部署。话不多说,直接开干!!!
云原生时代必须具备的核心技能之Docker高级篇(Docker实战之SpringBoot项目部署)