Dockerfile构建镜像

Dockerfile构建镜像

Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使

Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙

基本结构

Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。

一般的,Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令

准备工作

创建文件夹上传jdk的安装包,和在同级目录下编写Dockerfile文件

编写 Dockerfile 文件

查看镜像

docker images

创建一个文件夹,把代码复制进去

#基础镜像

FROM centos:latest

#维护者信息

MAINTAINER 22@qq.com

#操作

ENV JAVA_HOME=jdk:1.0

#启动指令

CMD echo $JAVA_HOME

构建镜像

 docker build -t sp:1 .

查看我们刚刚新建的镜像

构建镜像

配置环境变量

ENV JAVA_HOME=/project/jdk1.8.0_221

ENV CLASSPATH=.:${JAVA_HOME}/lib:

${JRE_HOME}/lib

ENV PATH=${JAVA_HOME}/bin:$PATH

新建test文件夹

把压缩包放到这个test文件夹里面

解压文件夹

Tar  -zxvf 解压包

把spring解压包也拖进来

在test文件夹里面在建一个文件,把这些代码放进去

#1.指定基础镜像,并且必须是第一条指令

FROM centos:latest

#2.指明该镜像的作者和其电子邮件

MAINTAINER xx "xx@qq.com"

#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录

WORKDIR /usr/local/java

#4.一个复制命令,把jdk安装文件复制到镜像中,注意:jdk*.tar.gz使用的是相对路径

ADD jdk-8u221-linux-x64.tar.gz /usr/local/java/

COPY spring.jar /usr/local/java

#5.配置环境变量

ENV JAVA_HOME=/usr/local/java/jdk1.8.0_221

ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV PATH=$JAVA_HOME/bin:$PATH

#容器启动时需要执行的命令

CMD  java -jar spring.jar

将jre压缩包有放进来

解压jre

#1.指定基础镜像,并且必须是第一条指令

FROM centos:latest

#2.指明该镜像的作者和其电子邮件

MAINTAINER xx "xx@qq.com"

#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录

WORKDIR /usr/local/java

#4.一个复制命令,把jdk安装文件复制到镜像中,注意:jdk*.tar.gz使用的是相对路径

ADD jre-8u391-linux-x64.tar.gz /usr/local/java/

COPY spring.jar /usr/local/java

#5.配置环境变量

ENV JAVA_HOME=/usr/local/java/jre1.8.0_391

ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV PATH=$JAVA_HOME/bin:$PATH

#容器启动时需要执行的命令

CMD  java -jar spring.jar

删除所有sp的镜像

grep过滤   awk拿到id删除

删除所有容器

docker rm -f $(docker ps -aq)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Intel® SGX Instruction References(五)

文章目录 前言一、Intel SGX Instruction Syntax and Operation1.1 ENCLS Register Usage Summary1.2 ENCLU Register Usage Summary1.3 ENCLV Register Usage Summary1.4 Information and Error Codes1.5 Internal CREGs1.6 Concurrent Operation Restrictions 二、Intel SGX …

亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 王炸产品 Amazon Q,你的 AI 助手

意料之中 2023年9月25日,亚马逊宣布与 Anthropic 正式展开战略合作,结合双方在更安全的生成式 AI 领域的先进技术和专业知识,加速 Anthropic 未来基础模型的开发,并将其广泛提供给亚马逊云科技的客户使用。 亚马逊云科技开发者社…

TypeScript学习(基础篇)

前言 在现代的Web开发生态系统中,JavaScript已经成为一种必备的技术。然而,随着应用的增大,JavaScript的一些限制开始显现,例如缺乏静态类型检查和编译时错误检查。这正是TypeScript发挥作用的地方,TypeScript是一种静…

【Linux系统基础】(2)在Linux上部署MySQL、RabbitMQ、ElasticSearch等各类软件

实战章节:在Linux上部署各类软件 前言 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,…

12.26ARM作业

三个按键中断&#xff0c;控制对应灯亮灭 main.c #include "key_it.h"void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j);}}int main(){all_led_init();key1_it_config();key2_it_config();key3_it_config();while(1){printf("do main...\n&…

Linux c++开发-14-IO复用

什么是文件 程序员使用I/O最终都逃不过文件这个概念。 在Linux世界中文件是一个很简单的概念&#xff0c;作为程序员我们只需要将其理解为一个N byte的序列就可以了&#xff1a; b1, b2, b3, b4, … bN 实际上所有的I/O设备都被抽象为了文件这个概念&#xff0c;一切皆文件…

常用命令-设置

目录 系统配置查看系统架构屏幕演示工具合并终端命令Windows cmd命令提示符重启网卡禁止系统更新CMD运行powshell获取文件安装目录微软VC运行库合集强制刷新IP默认程序打开文件SSH免密登录关闭IE增强配置警告滑动关机最近操作记录解决谷歌翻译禁止系统休眠文件传输文件批量改名…

基于Java (spring-boot)的宠物管理系统

一、项目介绍 1、用户端功能&#xff1a; 首页&#xff1a;展示公告列表&#xff0c;宠物科普&#xff0c;介绍流浪宠物&#xff0c;热门活动。 宠物领养&#xff1a;用户搜索想要领养宠物&#xff0c;申请领养&#xff0c;查看自己领养的宠物。 宠物救助&#xff1a;用户能…

C# .Net学习笔记—— 加密和解密算法

一、四种加密方式 1、MD5不可逆加密 2、Des对称可逆加密 3、RSA非对称可逆加密 4、数字证书SSL 二、详解 1、MD5加密 public class MD5Encrypt{public static string Encrypt(string source, int length 32){if (string.IsNullOrEmpty(source)) return string.Empty;HashA…

002、使用 Cargo 创建新项目,打印 Hello World

1. Cargo 简介 Cargo 是 Rust 的构建系统和包管理工具&#xff0c;比如构建代码、下载依赖的库、构建这些库等等。在安装 Rust 时&#xff0c;Cargo也会一起安装。 2. 创建新项目的具体步骤 步骤1&#xff1a; 我们在桌面新建一个文件夹&#xff0c;用于存放后面练习用的代码文…

免费好用的10款AI配音软件,总有一款适合你

随着人工智能技术的快速进步&#xff0c;越来越多的语音合成软件开始在我们的日常生活中应用。这些软件能够将文字转化为自然流畅的语音&#xff0c;并且能够模拟各种声音和语调&#xff0c;给人们带来了巨大的便利和创造性。在这其中&#xff0c;配音软件尤其受到广泛欢迎&…

微信小程序备案流程整理

一、备案流程 [找备案入口]–[填主体信息]–[填小程序信息]–[初审]–[短信核验]–[通管局审核] 1&#xff0c;在小程序后台找到备案入口 &#xff08;1&#xff09;新的未上架小程序&#xff0c;可以在小程序首页点击【去备案】进入。 &#xff08;2&#xff09;已上架小程…

工具系列:TimeGPT_(3)处理假期和特殊日期

日历变量和特殊日期是预测应用中最常见的外生变量类型之一。它们为时间序列的当前状态提供了额外的上下文信息&#xff0c;特别是对于基于窗口的模型&#xff08;如TimeGPT-1&#xff09;而言。这些变量通常包括添加每个观测的月份、周数、日期或小时数的信息。例如&#xff0c…

SpringBoot 3.2.0 基于SpringDoc接入OpenAPI实现接口文档

依赖版本 JDK 17 Spring Boot 3.2.0 SpringDoc 2.3.0 工程源码&#xff1a;Gitee 导入依赖 <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEnco…

EasyCVR无人机推流+人数统计AI算法,助力公共场所人群密度管控

一、背景与需求 在公共场所和大型活动的管理中&#xff0c;人数统计和人群密度控制是非常重要的安全问题。传统的方法可能存在效率低下或准确度不足的情况&#xff0c;无法满足现代社会的需求。TSINGSEE青犀可以利用无人机推流AI人流量统计算法&#xff0c;基于计算机视觉技术…

渗透测试(Lab4.0)

配置WebDeveloper的时候遇到一个错误 导入失败&#xff0c;因为 E:…ovf 未通过 OVF 规范一致性或虚拟硬件合规性检查。 请单击“重试”放松 OVF 规范与虚拟硬件合规性检查&#xff0c;并重新尝试导入&#xff1b; 或单击“取消”以取消导入。如果重新尝试导入&#xff0c;可能…

javaweb--实验十 --期末复盘

实验十 JDBC连接MySQL 本次实验没有代码补全&#xff0c;以下都是完整过程&#xff0c;详细关注连接过程的问题 一、实验目的&#xff1a; 1、掌握JDBC连接数据库的一般操作。 2、理解JavaBean的基本作用。 3、理解分层设计的思想。 二、 实验内容&#xff1a; 实现学生信…

PostgreSQL | FunctionProcedure | 函数与存储过程的区别

文章目录 PostgreSQL | Function&Procedure | 函数与存储过程的区别1. 简述书面说法大白话讲 2. 函数&#xff08;Function&#xff09;2.1 定义2.2 用途2.3 执行2.4 事务处理2.5 说点例子1. 当参数都是IN类时2. 参数中出现OUT、INOUT参数时 3. 存储过程&#xff08;Proced…

一图梳理多模态领域发展简史

本文采用关系图的方式整理了&#xff1a;CLiP、ViLT、FLiP、ALBEF、CoCa、BLiP、VLMo、BEiT 和BEiT v3等近几年来经典的多模态大模型&#xff0c;以及这些工作的相互依托关系。灵感来自&#xff1a;跟李沐读论文系列——多模态串讲 1 模型关系图&#xff1a; ’ 2 各模型的架…

OpenAPI,已支持表单数据格式校验

OpenAPI 路径 开放平台 功能简介 「OpenAPI」- 支持表单数据格式校验。 通过「OpenAPI-新增表单数据」接口&#xff0c;新增数据时&#xff0c;若数据格式不匹配&#xff0c;会导致无法新增。 例如&#xff0c;数字不能新增到日期格式的表单字段。 请参考数据格式传参&a…