dockerfile及docker常用操作

1: docker 编写

Dockerfile 是用于构建 Docker 镜像的文本文件,包含一系列指令和参数,用于定义镜像的构建过程
以下是关键要点:

一、基本结构
‌FROM‌:必须作为第一条指令,指定基础镜像(如 FROM python:3.10)
‌RUN‌:执行命令(如安装依赖 RUN apt-get update),支持 Shell 或 Exec 格式
‌COPY/ADD‌:复制文件到镜像,ADD 额外支持自动解压和 URL 下载
‌WORKDIR‌:设置工作目录,类似 cd 命令
‌EXPOSE‌:声明容器运行时监听的端口(如 EXPOSE 8080)
二、构建流程
编写 Dockerfile 文件
执行 docker build -t 镜像名 . 构建镜像
通过 docker run 运行容器实例
三、优化建议
‌减少镜像层数‌:合并多个 RUN 指令(如使用 && 连接命令)
‌使用 .dockerignore‌:排除无关文件,加速构建
‌多阶段构建‌:分离编译和运行环境,减小最终镜像体积

四、示例(构建 Python 应用)
dockerfile
Copy Code
FROM python:3.10
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD [“python”, “app.py”]
此示例会:

基于 Python 3.10 镜像构建
安装依赖后复制代码
启动时运行 app.py

docker 常用命令

1: docker images #查看镜像
2:docker run -it xxx bash #运行docker, 执行docker中的cmd 命令
3:docker rmi image_name:版本
4:docker ps -a # 查看容器

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

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

相关文章

[vibe coding-lovable]lovable是不是ai界的复制忍者卡卡西?

在火影忍者的世界里,卡卡西也被称为复制忍者,因为大部分忍术都可以被其Copy! 截图提示:实现这个效果 -> 发给Lovalbe -> 生成的的效果如下,虽然不是1比1还原,但是这个效果也很惊艳。 这个交互设计,这个UI效果&am…

技术赋能安全:智慧工地构建城市建设新防线

城市建设的热潮中,工地安全始终是关乎生命与发展的核心议题。江西新余火灾等事故的沉痛教训,暴露了传统工地监管的诸多短板——流动焊机“行踪难觅”,无证动火作业屡禁不止,每一次监管缺位都可能引发灾难性后果。如今,…

Sublime Text 代码编辑器(Mac中文)

原文地址:Sublime Text Mac 代码编辑器 sublime text Mac一款轻量级的文本编辑器,拥有丰富的功能和插件。 它支持多种编程语言,包括C、Java、Python、Ruby等,可以帮助程序员快速编写代码。 Sublime Text的界面简洁、美观&#…

如何制定项目时间线,合理预计?

制定一份现实可行且行之有效的项目时间线,是一个系统性的分解、估算与排序过程,而非简单的日期罗列。核心步骤包括:明确项目范围与可交付成果、利用工作分解结构(WBS)进行任务拆解、科学估算各项任务的持续时间、识别并…

RSA详解

一、RSA 简介RSA 是一种公钥密码体制,由罗纳德・李维斯特(Ron Rivest)、阿迪・萨莫尔(Adi Shamir)和伦纳德・阿德曼(Leonard Adleman)于 1977 年提出,算法名称由他们三人姓氏的首字母…

Linux获取物理硬盘总容量

获取物理硬盘总容量: 1.查看单个硬盘: 使用 lsblk 或 fdisk -l (需要 sudo) 命令。它们会直接列出物理硬盘 (sda, nvme0n1 等) 和它们的分区,并显示硬盘的总物理容量。 abcd四块物理盘,只挂载使用3块,留一块未使用 最常见的原因通常是配置了热备盘(RAID 1/5/6/10 等冗余…

STM32学习笔记14-I2C硬件控制

I2C外设简介STM32内部集成了硬件I2C收发电路(硬件收发器:自动生产波形,自动翻转电平等),可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担——软件只需要写入控制…

电子电气架构 --- 软件开发数字化转型

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

我国空间站首次应用专业领域 AI大模型

据中国载人航天工程办公室消息,北京时间2025年8月15日22时47分,经过约6.5小时的出舱活动,神舟二十号乘组航天员陈冬、陈中瑞、王杰密切协同,在空间站机械臂和地面科研人员的配合支持下,圆满完成既定任务,出…

WPF真入门教程35--手搓WPF出真汁【蜀味正道CS版】

1、项目介绍 本项目采用多层架构设计,使用wpf,Panuon.UI.Silver控件库,AduSkin皮肤,MVVM等技术开发具有复杂交互和视觉效果的CS应用程序。WPF适用于企业级桌面应用:如ERP、CRM系统,需复杂表单和报表。WPF适…

JMeter与大模型融合应用之构建AI智能体:评审性能测试脚本

JMeter与大模型融合应用之构建AI智能体:评审性能测试脚本 一、引言 随着DevOps和持续测试的普及,性能测试已成为软件开发生命周期中不可或缺的环节。Apache JMeter作为最流行的开源性能测试工具之一,被广泛应用于各种性能测试场景。然而&…

K8s 和 Docker的区别

一、各自诞生背景——为什么需要两个东西Docker(2013,Docker Inc.) • 目的:解决“我的代码在你机器跑不起来”的经典环境问题。 • 做法:用 Linux 内核的 cgroup/namespace 做轻量隔离,把“应用 依赖”打…

10.0 UML的介绍以及VisualStudio中查看类图

本文介绍UML图的含义、以及如何在VisualStudio中查看类图。 一、UML图介绍 UML(Unified Modeling Language,统一建模语言)是一种标准化的建模语言,用于可视化、规范、构建和记录软件系统的各个方面的图表工具。 UML图分为结构图和行为图两大类: 结构图‌…

【Virtual Globe 渲染技术笔记】6 着色

着色(Shading) 曲面细分只是地球渲染的第一步。接下来是着色——通过模拟光线与材质的相互作用,计算每个像素的最终颜色。本节先回顾基础的光照与纹理映射,再讲解虚拟地球特有的经纬网格和夜景灯光效果。6.1 光照(Ligh…

OpenCV Python——图像拼接(一)(图像拼接原理、基础知识、单应性矩阵 + 图像变换 + 拼接)

1 图像拼接基础知识1.1 特征匹配 原理及代码示例1.2 单应性矩阵 原理及代码示例2 图像拼接(一)(直接拼接)3 图像拼接(二)(单应性矩阵 图像变换 拼接)3.1 单应性矩阵函数3.2 拼接函…

Git 中切换到指定 tag

在 Git 中切换到指定 tag(比如 v1.22.1)的正确做法如下:1️⃣ 查看已有的 taggit tag会列出所有可用的版本,比如:v1.21.0 v1.22.0 v1.22.1 v1.23.02️⃣ 切换到指定 taggit checkout tags/v1.22.1 -b v1.22.1解释&…

rust 从入门到精通之变量和常量

变量和常量 随着软件系统安全的重要性与日俱增, rust这门集聚高并发, 安全, 适配云环境的编程语言在市场上得到了越来越高的认可和关注。但其复杂的机制使其难以学习。且其很多特性对于其他语言是全新的,这加剧了学习的困难程度。教程主要针对rust基础进行讲解, 虽然…

2508C++,支持rdma通信的高性能rpc库

原文 [重磅]支持rdma通信的高性能的rpc库–yalantinglibs.coro_rpc yalantinglibs的coro_rpc是基于C20的协程的高性能的rpc库,提供了简洁易用的接口,让用户几行代码就可实现rpc通信,现在coro_rpc除了支持tcp通信之外还支持了rdma通信(ibverbs). 通过简单示例来感受一下rdma通…

FastAPI + React:现代 Web 前后端分离开发的全栈实践指南

一、为什么选 FastAPI React&#xff1f; 性能&#xff1a;FastAPI 基于 Starlette Uvicorn&#xff0c;QPS 与 Node/Go 同级&#xff0c;实测 3 倍于 Flask&#xff1b;React 虚拟 DOM 代码分割&#xff0c;首屏 < 1.2 s。效率&#xff1a;FastAPI 内置 Swagger/OpenAPI…

嵌入式硬件篇---电平转换电路

电平转换电路是电子电路中用来实现不同电压信号之间转换的关键电路&#xff0c;比如把 3.3V 的信号转换成 5V&#xff0c;或者把 5V 转换成 1.8V&#xff0c;确保不同电压的芯片、模块能正常通信。下面用通俗易懂的方式介绍几种常见的电平转换电路&#xff1a;一、电阻分压电路…