当前位置: 首页 > 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;主要研究方向是电力系统和智能算法、机器学…...

STM32CubeMX+Proteus仿真OLED12864I2C:从零搭建到显示‘Hello World‘的完整流程

STM32CubeMXProteus仿真OLED12864I2C&#xff1a;从零搭建到显示Hello World的完整流程 嵌入式开发初学者常被硬件调试的复杂性困扰&#xff0c;而仿真技术提供了一种低成本、高效率的学习路径。本文将手把手带你完成STM32CubeMX配置、Proteus电路搭建、Keil代码移植的全流程&a…...

Type-A接口静电防护全解析:为什么你的USB设备总被静电打坏?

Type-A接口静电防护全解析&#xff1a;为什么你的USB设备总被静电打坏&#xff1f; 每次插拔U盘时都提心吊胆&#xff1f;设备莫名其妙重启可能不是软件问题。作为消费电子领域最常见的接口之一&#xff0c;Type-A USB的静电防护缺陷正在悄悄吞噬着无数电子设备的寿命。本文将带…...

分人群建站解决方案:中小企业、创业者、外贸人怎么选对AI建站工具?

同样是“想建个网站”&#xff0c;中小企业主、刚起步的创业者、做外贸生意的卖家&#xff0c;他们心里的“网站”其实千差万别。需求不同&#xff0c;适配的建站方案自然也不同。本文针对几类典型人群&#xff0c;拆解他们的核心痛点&#xff0c;并提供对应的建站思路与工具选…...

从零构建基于TensorFlow与YOLO的端到端图像识别应用

1. 环境准备与工具安装 第一次接触图像识别项目时&#xff0c;最头疼的就是环境配置。我清楚地记得去年给某超市做商品识别系统时&#xff0c;光是CUDA和cuDNN的版本兼容问题就折腾了两天。后来总结了一套"万金油"安装方案&#xff0c;现在分享给大家。 首先明确我…...

DVWA 靶场实战:从零到一的 Web 安全攻防演练

1. DVWA靶场入门&#xff1a;Web安全攻防演练环境搭建 第一次接触DVWA时&#xff0c;我花了两小时才把环境跑起来。这个用PHP/MySQL编写的漏洞演练平台&#xff0c;简直是安全初学者的宝藏。下面分享我的踩坑经验&#xff0c;帮你10分钟搞定环境搭建。 核心组件准备&#xff1a…...

Docker挂载卷修改实战:3种方法解决路径变更难题(附详细步骤)

Docker挂载卷路径变更的实战指南&#xff1a;3种高效解决方案 每次项目结构调整时&#xff0c;最让我头疼的就是那些已经配置好的Docker挂载卷路径。上周迁移服务器时&#xff0c;我不得不面对十几个容器挂载路径的调整问题。经过反复尝试和踩坑&#xff0c;我总结出三种最实用…...

ESP32蓝牙鼠标的5个实用场景:除了模拟点击还能做什么?

ESP32蓝牙鼠标的5个实用场景&#xff1a;除了模拟点击还能做什么&#xff1f; 当大多数人听到"蓝牙鼠标"时&#xff0c;想到的可能是办公室里那款无线外设。但将ESP32与蓝牙鼠标功能结合&#xff0c;却能打开一扇通往物联网创新应用的大门。这款成本不到50元的微控制…...

Qwen-Image效果展示:RTX4090D上Qwen-VL对中文菜单、路牌、说明书图像的理解

Qwen-Image效果展示&#xff1a;RTX4090D上Qwen-VL对中文菜单、路牌、说明书图像的理解 1. 开箱即用的视觉语言模型环境 在RTX4090D显卡上运行通义千问视觉语言模型(Qwen-VL)从未如此简单。这个定制镜像已经预装了所有必要的依赖环境&#xff0c;包括&#xff1a; CUDA 12.4…...

避开这些坑!新手用股票API必知的5个隐藏成本(附沧海/麦蕊真实账单分析)

避开这些坑&#xff01;新手用股票API必知的5个隐藏成本&#xff08;附沧海/麦蕊真实账单分析&#xff09; 在金融科技领域&#xff0c;数据是驱动决策的核心燃料。对于刚接触股票API的开发者或中小团队而言&#xff0c;表面上的报价单往往只是冰山一角。本文将揭示那些容易被忽…...

Qwen3-ASR-0.6B效果展示:地铁广播等强噪声场景下公交线路播报识别

Qwen3-ASR-0.6B效果展示&#xff1a;地铁广播等强噪声场景下公交线路播报识别 1. 引言&#xff1a;当语音识别遇上嘈杂环境 想象一下这个场景&#xff1a;你正站在地铁站台&#xff0c;耳边是列车进站的轰鸣、人群的嘈杂、还有广播里断断续续的报站声。你想用手机记下换乘信息…...