Docker-Dockerfile构建镜像

news2024/10/6 14:37:47
Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使用 Dockerfile 去构建镜像好比使用 pom 去构建 maven 项目一样,有异曲同工之妙

构建基础镜像

centos
alpine
1. 空间大小差异, alpine 默认 5M 左右, centos 等都在 200M 左右。
2. 默认软件包差异, alpine 选用 busybox centos 等则是 bash+coreutils 几件套。
3. alpine 中,国际化组件被优化掉了。
4. 还有一点, alpine 中选用的都是 最简依赖 ,这点和 archlinux 比较像,举个例子,
openssh 包不会自带 pam 插件,于是他也就不支持 ldap 。这点我给 alpinelinux 官方提过
issue 。和 php 不一样, php 可以做成 php-pdo php-dom 的包,然后动态加载共享库。
openssh 不行, 没带就是没写
5. glibc 差异, alpine 选用 musl centos 等选用 glibc ,其他的倒还好, libc 的差异对开发很重
要。

基本结构

Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。
一般的, Dockerfile 分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。

 

准备工作

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

 

FROM centos
MAINTAINER (邮箱名称)
WORKDIR /test
COPY spring.jar /test
ADD jdk-8u221-linux-x64.tar.gz /test
ENV JAVA_HOME=/test/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

 

如果仅仅是把本地的文件拷贝到容器镜像中, COPY 命令是最合适不过的。其命令的格式
为: COPY <src> <dest>
ADD 命令的格式和 COPY 命令相同,也是: ADD <src> <dest>
区别: ADD 解压压缩文件并把它们添加到镜像中

创建镜像

编写完成 Dockerfile 之后,可以通过 docker build 命令来创建镜像。
1 -t spring:v1 给新构建的镜像取名为  v1
2 :注意最后有个点,代表使用当前路径的 Dockerfile 进行构建
然后直接运行查看一下 

镜像的上传

首先登录阿里云控制台搜索容器镜像服务ACR,选择个人版

先创建一个命名空间 

再进行一个登录 先对镜像取个别名,再将想要推送的镜像换成阿里云的镜像

最后到阿里云查看我们的镜像

 

镜像的下载

首先删除原有的镜像

docker rmi registry.cn-hangzhou.aliyuncs.com/4502/order_service:v1

 再对它进行下载

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

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

相关文章

Everything-一切尽在掌握之中

软件推荐&#xff0c;电脑文件繁多的时候&#xff0c;想要快速找到文件&#xff0c;少不了它 反应速度简直了&#xff0c;一秒响应 官网下载连接&#xff1a;下载 - voidtools

uni-forms表单校验有很多坑,uniapp项目,我的表单是写在tab切换页中的,

我的表单是写在tab切换页中的&#xff0c;这和一般写在最外层的表单不一样&#xff0c;当你点提交按钮时&#xff0c;返回的是一个数组&#xff0c;你有3个tab,就有3个数组&#xff0c;你需要通过下标拿到你表单所在的tab对应的数组 <view class"form-box"><…

geopandas 笔记:plot 的scheme

transbigdata 笔记&#xff1a;官方文档案例1&#xff08;出租车GPS数据处理&#xff09;-CSDN博客 3.3.1 节的内容的拓展&#xff0c;这里主要是比较各个scheme的效果 主代码为&#xff1a;修改的就是第二行scheme的内容 plt.figure(1,(16, 6), dpi300) schemebox_plot #图…

免费通配符SSL证书

通配符SSL证书&#xff0c;又名泛域名证书或Wildcard Certificates&#xff0c;是一种专门设计用于同时保护一个主域名以及该域名下所有同级子域名的加密证书。它采用先进的加密技术确保网络传输数据的私密性和完整性&#xff0c;防止中间人攻击和信息窃取。 通配符SSL证书的优…

【LeetCode】202. 快乐数(简单)——代码随想录算法训练营Day06

题目链接&#xff1a;202. 快乐数 题目描述 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终…

MATLAB R2023b for Mac 中文

MATLAB R2023b 是 MathWorks 发布的最新版本的 MATLAB&#xff0c;适用于进行算法开发、数据可视化、数据分析以及数值计算等任务的工程师和科学家。它包含了一系列新增功能和改进&#xff0c;如改进了数据导入工具&#xff0c;增加了对数据帧和表格对象的支持&#xff0c;增强…

1.50A、0.75A、1.50A、1.20A电流控制型比例马达放大器

1.50A、0.75A、1.50A、1.20A、0.70A、0.60A、1.40A控制电流型比例阀、比例泵、比例马达放大器&#xff0c;带数显区显示及当前参数现场可调&#xff0c;如指令、电流、上下斜坡、颤振频率等&#xff1b; 模块式及插头式外观&#xff0c;可现场调试各种参数&#xff1b; 兼容多…

喜讯!浪潮信息一体机破BWH Benchmark基准测试最高记录!

在复杂、快速、多变的商业环境中&#xff0c;一个高效、领先的算力平台&#xff0c;可以为商业智能分析提供更可靠的支持&#xff0c;赋能行业用户捕捉商机。日前&#xff0c;由浪潮信息打造的NF8480G7四路HANA一体机在最新的BWH Benchmark基准测试中表现优异&#xff0c;凭借每…

Java重写ArrayList方法

前言&#xff1a;ArrayList中有很多方法&#xff0c;我们只有深知这些方法是怎么实现的才能更好的使用&#xff0c;不用死记硬背 我们来一一实现&#xff08;重写&#xff09; 前提准备&#xff1a;我们需要先创建一个类&#xff0c;类中写ArrayList的内部结构组成 public cl…

Javascript 地狱级的if else / switch case该如何优化?

目录 问题 一、7大策略优化 1.单个if语句优化 2.if/else语句优化 3.多条件判断 4.多个 if else 嵌套优化策略 问题场景 如何优化 1.使用卫语句 2. try catch优化 3. 可选链 optional chaining 5.Map优化 场景实战 6.策略模式优化 7.复杂二维数组策略模式 …

Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/135551179 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

趣味编程:少儿编程思维的启蒙之旅

随着科技的发展&#xff0c;编程已经成为了一项重要的技能。越来越多的家长开始关注少儿编程教育&#xff0c;希望孩子能在轻松愉快的氛围中学习编程知识&#xff0c;培养编程思维。而图形化编程工具Scratch正是这样一款专为少儿打造的编程软件&#xff0c;让孩子们在趣味编程的…

leetcode第365题:水壶问题

有两个水壶&#xff0c;容量分别为 jug1Capacity 和 jug2Capacity 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity 升。 如果可以得到 targetCapacity 升水&#xff0c;最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。 你可以&a…

关于霍尔电流传感器在电池柜监测中的设计与应用-安科瑞 蒋静

摘要&#xff1a;本文分析了霍尔电流传感器的工作原理&#xff0c;浅谈其在电池柜监测中的应用。 关键词&#xff1a;霍尔电流传感器 工作原理 充放电电流 电池柜 引言 大多数的工厂里&#xff0c;使用到的电池柜&#xff0c;它是将许多的新组装的电池一起进行充电的&…

OpenCV-Python(40):光流算法

目标 光流的概念以及Lucas-Kanade 光流法使用函数cv2.calcOpticalFlowPyrLK() 对图像中的特征点进行跟踪 光流 介绍 由于目标对象或者摄像机的移动造成的图像对象在连续两帧图像中的移动被称为光流。它是一个2D 向量场&#xff0c;可以用来显示一个点从第一帧图像到第二帧图像…

使用 raise_exception 装饰器,简化 if not ... raise ... 抛出异常的过程

目录 一、前置说明1、总体目录2、相关回顾3、本节目标 二、操作步骤1、项目目录2、代码实现3、测试代码4、日志输出 三、后置说明1、要点小结2、下节准备 一、前置说明 1、总体目录 《 pyparamvalidate 参数校验器&#xff0c;从编码到发布全过程》 2、相关回顾 python 装饰…

多角度展文明风采!成都市第二届公益短视频大赛落幕

近日&#xff0c;“金芙蓉文明让生活更美好”成都市第二届公益短视频大赛揭晓获奖名单&#xff0c;170余部作品脱颖而出。此次大赛共收到700余部参赛作品&#xff0c;以不同手法、从不同角度描绘文明成都。 用短视频弘扬社会主义核心价值观 以真实故事为原型引发更多人共鸣 …

Android-常用数据结构和控件

HashMap 的原理 HashMap 的内部可以看做数组链表的复合结构。数组被分为一个个的桶(bucket)。哈希值决定了键值对在数组中的寻址。具有相同哈希值的键值对会组成链表。需要注意的是当链表长度超过阈值(默认是8)的时候会触发树化&#xff0c;链表会变成树形结构。 把握HashMap的…

线性代数基础【4】线性方程组

第四章 线性方程组 一、线性方程组的基本概念与表达形式 二、线性方程组解的基本定理 定理1 设A为mXn矩阵,则 (1)齐次线性方程组AX0 只有零解的充分必要条件是r(A)n; (2)齐次线性方程组AX0 有非零解(或有无数个解)的充分必要条件是r(A)&#xff1c;n 推论1 设A为n阶矩阵,则…

干货速递|用需求在环仿真扩展基于模型的系统工程实践:起落架系统案例

摘要 仿真已经成为大多数行业大规模采用基于模型的系统工程&#xff08;MBSE&#xff09;和基于模型的设计&#xff08;MBD&#xff09;工具的至关重要的因素。与此同时&#xff0c;实用的需求工程工具在以文档需求规格为主的生命周期管理之外并未得到显著发展&#xff0c;这使…