当前位置: 首页 > news >正文

41-Dockerfile-Dockerfile简介

Dockerfile简介

      • 前言
      • Dockerfile 简介
        • 基础知识
      • 使用Dockerfile 构建镜像步骤
      • Dockerfile 构建过程
      • Dockerfile基本结构
      • Dockerfile示例
      • 总结


前言

  • 本篇开始来学习下Dockerfile相关的用法

Dockerfile 简介

  • Dockerfile : 是用来构建 Docker 镜像的文本文件,是有一条条构建镜像所需要的指令和参数所组成的脚本文件,类似于 Linux 中的 Shell 脚本文件

基础知识

  1. 每条保留字指令都 必须为大写字母 且后面要跟随至少一个参数。
  2. 指令按照从上到下的顺序依次执行。
  3. # 表示注释。
  4. 每条指令都会创建一个新的镜像层并对镜像进行提交。

使用Dockerfile 构建镜像步骤

  1. 编写Dockerfile 文件。
  2. 使用 docker build 命令构建镜像。
  3. 使用 docker run 命令运行容器

Dockerfile 构建过程

  1. Docker 从基础镜像上运行一个容器。
  2. 执行一条指令并对容器进行修改。
  3. 执行类似 docker commit 的操作提交一个新的镜像层。
  4. Docker 再基于刚才提交的镜像运行一个新的容器。
  5. 依次类推,直到 Dockerfile 文件中的所有指令都执行完成

Dockerfile基本结构

  • Dockerfile 主要包含四部分内容:
    1. 基础镜像信息
    2. 维护者信息
    3. 镜像操作指令
    4. 容器启动时指令

Dockerfile示例

自定义centos7镜像。
要求:

  1. 默认登录路径为/usr
  2. 可以使用vim
  1. 编写dockerfile
# dockerfile
FROM centos:7
MAINTAINER dahai<dahai@qq.com>
RUN yum install-y vim
WORKDIR /usr
CMD /bin/bash
  1. 使用 docker build 命令构建镜像
docker build -f dockerfile -t my_centos:1.0 .
  1. 使用 docker run 命令运行容器
docker run -it my_centos:1.0

总结

  • 从应用软件的角度来看,Dockerfile、Docker 镜像和 Docker 容器分别代表软件的三个不同的阶段:
    • Dockerfile 是软件的原材料。
    • Docker 镜像是软件的交付品。
    • Docker 容器则可以认为是软件镜像的运行态,即根据镜像运行的容器实例

相关文章:

41-Dockerfile-Dockerfile简介

Dockerfile简介前言Dockerfile 简介基础知识使用Dockerfile 构建镜像步骤Dockerfile 构建过程Dockerfile基本结构Dockerfile示例总结前言 本篇开始来学习下Dockerfile相关的用法 Dockerfile 简介 Dockerfile : 是用来构建 Docker 镜像的文本文件&#xff0c;是有一条条构建镜…...

【408】操作系统 - 刻骨铭心自测题1(上)

文章目录OS练习题第一部分&#xff1a;1&#xff1a;2&#xff1a;3&#xff1a;4&#xff1a;5&#xff1a;6&#xff1a;7&#xff1a;8&#xff1a;9&#xff1a;10&#xff1a;11&#xff1a;12&#xff1a;13&#xff1a;14&#xff1a;15&#xff1a;16&#xff1a;17&am…...

【老卫拆书】009期:Vue+Node肩挑全栈!《Node.js+Express+MongoDB+Vue.js全栈开发实战》开箱

今天刚拿到一本新书&#xff0c;叫做《Node.jsExpressMongoDBVue.js全栈开发实战》&#xff0c;做个开箱。 外观 先从外观上讲&#xff0c;这本是全新的未开封的&#xff0c;膜还在。 这本书介绍从技术原理到整合开发实战&#xff0c;以丰富的项目展现全栈开发的一个技巧。 …...

【LeetCode】动态规划总结

动态规划解决的问题 动态规划和贪心的区别&#xff1a; 动态规划是由前一个状态推导出来的&#xff1b; 贪心是局部直接选最优的。 动态规划解题步骤 状态定义&#xff1a;确定dp数组以及下标的含义状态转移方程&#xff1a;确定递推公式初始条件&#xff1a;dp如何初始化遍历…...

CAS详解.

CAS这个机制就给实现线程安全版本的代码&#xff0c;提供了一个新的思路&#xff0c;之前通过加锁&#xff0c;把多个指令打包成整体&#xff0c;来实现线程安全。现在就可以考虑直接基与CAS来实现一些修改操作&#xff0c;也能保证线程安全&#xff08;不需要加锁&#xff09;…...

Mock.js初步使用(浏览器端)

Mock.js&#xff1a;生成随机数据&#xff0c;拦截 Ajax 请求。官方地址&#xff1a;http://mockjs.com/第一个demodemo.html<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>mockjs demo</title> </head> <…...

opencv保存图片

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

【c++】数据类型

文章目录整型实型科学计数法sizeof关键字字符型字符串类型转义字符bool布尔类型c规定在创建一个变量或者常量时&#xff0c;必须要指定出相应的数据类型&#xff0c;否则无法给变量分配内存。 整型 作用&#xff1a;整型变量表示的是整数类型的数据。 实型 float f3.14; //默…...

Elasticsearch的写的底层原理

前面有一篇文章讲解了Elasticsearch的读写搜索过程&#xff0c;有的人感觉不太理解&#xff0c;今天我们再来看看这些过程的原理 写数据底层原理 首先是将数据写入到内存buffer中&#xff0c;在这里的时候&#xff0c;数据是搜索不到。他同时会将数据写入到translog日志文件中…...

【网络编程】Java中的Socket

文章目录前言socket是什么&#xff1f;Java中的SocketJava实现网络上传文件前言 所谓Socket&#xff08;套接字&#xff09;&#xff0c;就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端&#xff0c;提供了应用层进程利用…...

有趣的Hack-A-Sat黑掉卫星挑战赛——跟踪卫星

国家太空安全是国家安全在空间领域的表现。随着太空技术在政治、经济、军事、文化等各个领域的应用不断增加&#xff0c;太空已经成为国家赖以生存与发展的命脉之一&#xff0c;凝聚着巨大的国家利益&#xff0c;太空安全的重要性日益凸显[1]。而在信息化时代&#xff0c;太空安…...

Ubuntu安装配置Cuda和Pytorch gpu

前言 在Ubuntu中操作系统中,通过Anconda安装对应的虚拟环境以及软件包,一般都需要适配Cuda、Pytorch版本等 以下安装配置都是在Ubuntu操作系统下 1. 安装Cuda 通过Ubuntu操作系统查看cuda适配的版本:nvidia-smi 截图如下: 查看Ubuntu版本可如下方式 (1)cat /proc/ver…...

三、Java面向对象

1 . 方法 方法(method)是程序中最小的执行单元方法就是一些代码的打包 需要的时候可以直接调用方法之间是平级的关系 不能在方法里面定义方法方法不调用就不执行 方法的定义 // 方法的定义 /* [修饰符] 返回值类型 方法名称([参数 1],[参数 2]){语句A;return 返回值; } *///…...

pygame7 弹球游戏2

上节课我们做到当球静止下来后在第0号球上画一个球杆 本节课我们将会让这个球杆将球打出来 1、鼠标事件 pygame.mouse.get_pressed():返回鼠标左键&#xff0c;中间&#xff0c;右键的情况 2、键盘事件&#xff1a; pygame.key.get_pressed(): 返回所有键盘的情况 3、pyg…...

计算机网络4:计算机网络体系结构

目录计算机网络体系结构1.网络模型2.每一层的代表含义2.1 OSI7层模型2.2 五层协议2.3 TCP/IP 四层协议3.数据在各层之间的传输过程4.为什么要进行分层计算机网络体系结构 1.网络模型 2.每一层的代表含义 2.1 OSI7层模型 &#xff08;1&#xff09;物理层&#xff1a;比特流–…...

1630_GNU的二进制分析工具nm简单使用探索

全部学习汇总&#xff1a; GreyZhang/toolbox: 常用的工具使用查询&#xff0c;非教程&#xff0c;仅作为自我参考&#xff01; (github.com) GNU有一套二进制的分析工具&#xff0c;之前是用过objdump的&#xff0c;但是也没有系统掌握。如果做底层软件的设计&#xff0c;这些…...

【Redis】Redis高可用之Redis Cluster集群模式详解(Redis专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于知名金融公…...

1.8 正则表达式

正则表示式是用来匹配与查找字符串的&#xff0c;从网上爬取数据不可避免的会用到正则表达式。 Python 的表达式要先引入 re 模块&#xff0c;正则表达式以 r 引导。Re库主要功能函数函数说明re.search()在一个字符串中搜索匹配正则表达式的第一个位置&#xff0c;返回match对象…...

Postgresql 根据单列或几列分组去重row_number() over() partition by

Postgresql 根据单列或几列分组去重row_number() over() partition by 一般用于单列或者几列需要去重后进行计算值的 count(distinct(eid)) 可以 比如有个例子&#xff0c;需要根据名称&#xff0c;城市去筛选覆盖的道路长度&#xff0c;以月因为建立了唯一索引是ok的&#…...

基于蒙特卡洛法的规模化电动车有序充放电及负荷预测(PythonMatlab实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;主要研究方向是电力系统和智能算法、机器学…...

LFM2.5-1.2B-Thinking-GGUF零基础部署:5分钟在低配电脑上跑通你的第一个AI助手

LFM2.5-1.2B-Thinking-GGUF零基础部署&#xff1a;5分钟在低配电脑上跑通你的第一个AI助手 1. 引言&#xff1a;轻量级AI助手的魅力 你是否曾经想在自己的电脑上运行一个AI助手&#xff0c;却被高昂的硬件要求劝退&#xff1f;今天我要介绍的LFM2.5-1.2B-Thinking-GGUF模型将…...

阿里Qwen3-4B-Instruct-2507新手部署指南:从镜像到网页推理全流程

阿里Qwen3-4B-Instruct-2507新手部署指南&#xff1a;从镜像到网页推理全流程 1. 模型简介与核心能力 1.1 模型概述 Qwen3-4B-Instruct-2507是阿里巴巴通义实验室最新推出的轻量级文本生成大模型&#xff0c;属于Qwen3系列中的指令微调版本。这个40亿参数的模型在保持较低硬…...

Teriteri 后端架构深度解析:构建高并发视频分享平台的技术实践

Teriteri 后端架构深度解析&#xff1a;构建高并发视频分享平台的技术实践 【免费下载链接】teriteri-backend 一个基于 springboot mybatis-plus 搭建的视频网站平台后端 项目地址: https://gitcode.com/gh_mirrors/te/teriteri-backend Teriteri 是一个基于 SpringBo…...

3步精通:让你的PowerShell终端交互效率翻倍

3步精通&#xff1a;让你的PowerShell终端交互效率翻倍 【免费下载链接】PowerShell PowerShell/PowerShell: PowerShell 是由微软开发的命令行外壳程序和脚本环境&#xff0c;支持任务自动化和配置管理。它包含了丰富的.NET框架功能&#xff0c;适用于Windows和多个非Windows平…...

从零到生产级:手把手教你用SpringCloud搭建神领物流微服务架构(含Nacos+Gateway实战)

从零构建企业级物流微服务&#xff1a;SpringCloudNacosGateway全链路实战 1. 微服务架构在物流行业的落地实践 物流行业正经历着从传统单体架构向分布式系统的技术转型。以某头部物流企业日均3000万订单的实际场景为例&#xff0c;微服务架构通过以下核心优势解决业务痛点&…...

RWKV7-1.5B-g1a显存优化部署教程:3.8GB实测占用下稳定运行的完整配置

RWKV7-1.5B-g1a显存优化部署教程&#xff1a;3.8GB实测占用下稳定运行的完整配置 1. 模型简介 rwkv7-1.5B-g1a是基于新一代RWKV-7架构的多语言文本生成模型&#xff0c;特别适合中文场景下的轻量级应用。这个1.5B参数的版本在保持良好生成质量的同时&#xff0c;通过架构优化…...

Word to Markdown 技术指南:从痛点解决到高效应用

Word to Markdown 技术指南&#xff1a;从痛点解决到高效应用 【免费下载链接】word-to-markdown A ruby gem to liberate content from Microsoft Word documents 项目地址: https://gitcode.com/gh_mirrors/wo/word-to-markdown 作为开发者&#xff0c;你是否曾遇到过…...

Keynote转PPT全攻略:Mac用户必知的5个高效技巧(含格式保留秘诀)

Keynote转PPT全攻略&#xff1a;Mac用户必知的5个高效技巧&#xff08;含格式保留秘诀&#xff09; 作为Mac用户&#xff0c;Keynote无疑是制作演示文稿的利器&#xff0c;其简洁的界面和强大的设计功能让创作过程变得轻松愉快。然而&#xff0c;当我们需要与使用Windows系统的…...

StructBERT-Large效果展示:古汉语白话文复述识别能力实测

StructBERT-Large效果展示&#xff1a;古汉语白话文复述识别能力实测 1. 工具简介与核心能力 StructBERT-Large语义相似度分析工具是一款专门针对中文文本相似度判断的本地化解决方案。基于强大的StructBERT-Large中文模型&#xff0c;这个工具能够精准识别两个中文句子之间的…...

TestHub:企业级Java接口自动化测试一体化解决方案

TestHub&#xff1a;企业级Java接口自动化测试一体化解决方案 【免费下载链接】TestHub 接口自动化测试-持续集成测试 项目地址: https://gitcode.com/gh_mirrors/te/TestHub 在微服务架构日益普及的今天&#xff0c;接口自动化测试已成为保障软件质量的关键环节。然而&…...