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
英文地址,請注明出處:http://en.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;一、電阻分壓電路…