docker的鏡像與推送

?docker?build

# 1. 基本構建命令(使用當前目錄的 Dockerfile)
docker build .# 2. 指定 Dockerfile 路徑和構建上下文
docker build -f /path/to/Dockerfile /path/to/build/context# 3. 為鏡像設置名稱和標簽
docker build -t my-image:latest .# 4. 設置構建參數(ARG 變量)
docker build --build-arg APP_VERSION=1.0.0 -t my-app .# 5. 使用特定目標階段(多階段構建)
docker build --target builder-stage -t my-builder .# 6. 不緩存構建過程(強制重新執行所有步驟)
docker build --no-cache -t fresh-image .# 7. 移除中間容器(構建成功后自動刪除)
docker build --rm=true -t clean-image .# 8. 設置內存限制和 CPU 配額
docker build --memory=1g --cpus=2.0 -t resource-limited .# 9. 使用特定平臺構建(跨平臺構建)
docker build --platform linux/arm64 -t arm-image .# 10. 高級用法:構建時傳遞 SSH 密鑰
docker build --ssh default -t ssh-image .# 11. 壓縮構建上下文(減少傳輸大小)
docker build --compress -t compressed-build .# 12. 設置超時時間(防止卡死)
docker build --timeout=30m -t safe-build .# 13. 組合使用示例:完整構建命令
docker build \-t my-registry/app:v2 \          # 鏡像名稱和標簽-f dockerfiles/prod.Dockerfile \ # 指定 Dockerfile--build-arg NODE_ENV=production \ # 構建參數--target runtime-stage \         # 多階段目標--no-cache \                     # 禁用緩存--platform linux/amd64 \         # 目標平臺--memory=2g \                    # 內存限制.                                # 構建上下文
參數說明
-t?/?--tag設置鏡像名稱和標簽(格式:name:tag,可多次使用)
-f?/?--file指定 Dockerfile 路徑(默認:PATH/Dockerfile
--build-arg傳遞構建參數(覆蓋 Dockerfile 中的?ARG
--target多階段構建時指定目標階段
--no-cache禁用構建緩存(從頭開始構建)
--rm構建成功后刪除中間容器(默認:true
--platform設置目標平臺(如?linux/amd64,?linux/arm64
--compress使用 gzip 壓縮構建上下文
--ssh允許構建時訪問 SSH 代理(安全訪問私有倉庫)
--memory設置構建容器的內存限制
--cpus設置 CPU 配額(如?1.5?表示 1.5 個 CPU 核心)
--timeout設置構建超時時間(單位:s/m/h
.構建上下文路徑(決定?COPY/ADD?的文件范圍)

docker?push

# 1. 基本推送命令(推送到 Docker Hub)
docker push username/image-name:tag# 2. 推送到私有倉庫(需先登錄)
docker push registry.example.com:5000/my-app:v1.0# 3. 推送多個標簽(需分別執行)
docker push username/image-name:latest
docker push username/image-name:v1.2# 4. 使用不同格式的鏡像標識
docker push my-image-id  # 使用鏡像ID推送(不推薦)
docker push my-image@sha256:abc123...  # 使用摘要推送# 5. 強制推送(覆蓋已有鏡像)
docker push --force username/image-name:latest# 6. 禁用內容信任(開發環境使用)
docker push --disable-content-trust my-private-reg/image# 7. 組合使用示例
docker tag local-image:dev username/prod-image:v2.1  # 先打標簽
docker push username/prod-image:v2.1                # 再推送# 8. 推送多平臺鏡像(需用 buildx 構建)
docker buildx build --platform linux/amd64,linux/arm64 -t username/multi-arch-image:latest --push .
參數說明
--disable-content-trust跳過鏡像簽名驗證(默認開啟)
--quiet?/?-q靜默模式(只輸出錯誤信息)
--force?/?-f強制覆蓋遠程同名鏡像(謹慎使用)
--all-tags?/?-a注意:docker push 不支持此參數

?docker?login

# 登錄默認 Docker Hub 倉庫(交互式輸入認證信息)
docker login
# 注釋:
#   執行后需手動輸入用戶名、密碼
#   登錄憑證默認保存在 `~/.docker/config.json`# 指定用戶名登錄 Docker Hub(密碼手動輸入)
docker login -u your_username
# 注釋:
#   -u 指定用戶名
#   執行后會提示輸入密碼(避免密碼出現在命令歷史)# 完整認證登錄私有倉庫
docker login -u user -p passwd registry.example.com:5000
# 注釋:
#   -p 直接提供密碼(注意安全隱患)
#   registry.example.com:5000 指定私有倉庫地址
#   適合自動化腳本(但需確保密碼安全)# 從文件讀取密碼登錄(避免密碼暴露)
cat ~/password.txt | docker login -u user --password-stdin registry.example.com
# 注釋:
#   --password-stdin 從標準輸入讀取密碼
#   cat 命令將密碼文件內容通過管道傳遞
#   避免密碼被記錄在歷史命令或日志中# 登錄第三方公共倉庫
docker login -u token_username -p access_token ghcr.io
# 注釋:
#   ghcr.io GitHub Container Registry
#   access_token 通常為平臺生成的訪問令牌
#   適用于 GitHub/GitLab 等容器服務# 退出當前倉庫登錄
docker logout registry.example.com
# 注釋:
#   刪除本地存儲的指定倉庫憑證
#   不指定倉庫則默認清除 Docker Hub 登錄狀態

?docker?logout

# 登出默認 Docker Hub 倉庫
docker logout
# 注釋:清除當前用戶登錄 Docker Hub 的憑證 (~/.docker/config.json)# 登出私有倉庫(指定倉庫地址)
docker logout registry.example.com:5000
# 注釋:
#   清除指定私有倉庫的登錄憑證
#   格式:倉庫域名/IP + 端口號(非默認端口必須指定)# 登出 GitHub Container Registry
docker logout ghcr.io
# 注釋:
#   清除 GitHub 容器倉庫的憑證
#   適用于第三方容器倉庫(GitLab 對應 gitlab.example.com)# 登出所有倉庫(需手動實現)
# 注釋:Docker 沒有直接清除所有憑證的命令,需手動刪除配置文件
rm ~/.docker/config.json
# 警告:此操作將刪除所有容器倉庫的登錄憑證!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90083.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90083.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機網絡學習----域名解析

在互聯網世界中,我們習慣通過域名(如www.example.com)訪問網站,而非直接記憶復雜的 IP 地址(如 192.168.1.1)。域名與 IP 地址之間的轉換過程,就是域名解析。它是互聯網通信的基礎環節&#xff…

構建高性能推薦系統:MixerService架構解析與核心實現

——深入剖析推薦服務的分層設計、工作流引擎與高可用策略 一、整體架構與分層設計 該推薦服務采用經典分層架構模式?7,各層職責清晰: ?HTTP接口層? 支持 GET/POST 請求解析,自動映射參數到 RcmdReq 協議對象統一錯誤處理:參…

【安全漏洞】隱藏服務器指紋:Nginx隱藏版本號配置修改與重啟全攻略

?? 隱藏服務器指紋:Nginx配置修改與重啟全攻略 你是否知道,默認情況下Nginx會在HTTP響應頭中暴露版本號?這個看似無害的Server: nginx/1.x.x字段,實則可能成為黑客的"藏寶圖"。今天我們就來揭秘如何通過簡單配置提升服務器安全性,并手把手教你完成Windows環境…

構建RAG智能體(2):運行狀態鏈

在現代AI應用開發中,如何讓聊天機器人具備記憶能力和上下文理解是一個核心挑戰。傳統的無狀態對話系統往往無法處理復雜的多輪對話場景,特別是當用戶需要提供多種信息來完成特定任務時。 本文就來討論一下如何利用runnable來編排更有趣的語言模型系統&a…

RPA認證考試全攻略:如何高效通過uipath、實在智能等廠商考試

rpa認證考試有什么作用?數字洪流席卷全球,企業效率之爭已進入秒級戰場。當重復性工作吞噬著創造力,RPA(機器人流程自動化)技術正以前所未有的速度重塑職場生態。財務對賬、報表生成、跨系統數據搬運……這些曾經耗費人…

淺析MySQL事務隔離級別

MySQL 的事務隔離級別定義了多個并發事務在訪問和修改相同數據時,彼此之間的可見性和影響程度。它解決了并發事務可能引發的三類核心問題: 臟讀: 一個事務讀取了另一個未提交事務修改的數據。不可重復讀: 一個事務內多次讀取同一行…

【Linux系統】基礎IO(上)

1. 深入理解"文件"概念1.1 文件的狹義理解狹義上的“文件”主要指存儲在磁盤上的數據集合。具體包括:文件在磁盤里:文件是磁盤上以特定結構(如FAT、ext4文件系統)保存的數據集合,由字節或字符序列構成。磁盤…

構建智能可視化分析系統:RTSP|RTMP播放器與AI行為識別的融合實踐

技術背景 隨著人工智能向邊緣側、實時化方向加速演進,視頻已從傳統的“記錄媒介”躍升為支撐智能感知與自動決策的關鍵數據入口。在安防監控、工業安全、交通治理等復雜應用場景中,行為識別系統的準確性和響應效率,越來越依賴于視頻源的時效…

AI入門學習-Python 最主流的機器學習庫Scikit-learn

一、Scikit-learn 核心定位是什么:Python 最主流的機器學習庫,涵蓋從數據預處理到模型評估的全流程。 為什么測試工程師必學:? 80% 的測試機器學習問題可用它解決? 無需深厚數學基礎,API 設計極簡? 與 Pandas/Numpy 無縫集成&a…

apache-doris安裝兼datax-web配置

Doris安裝 官方快速開始鏈接 下載2.1.10,解壓。我這邊個人服務器CPU是J1900,是沒有 avx2的,所以選no 配置JAVA_HOME,這里沒有配置的要配置下,注意要Oracle的jdk,openjdk沒有jps等工具集,后面跑…

問題實例:4G網絡下語音呼叫失敗

問題描述 測試機 撥號呼出后,一直在4G,超時后自動掛斷。 對比機可以呼出成功,呼出時回落3G。 日志分析 測試機和對比機一樣發起了CSFB 呼叫。 只是測試機后面沒有回落3G。 03:44:40.373264 [0xB0ED] LTE NAS EMM Plain OTA Outgoing Message …

MATLAB 2024b深度學習新特性全面解析與DeepSeek大模型集成開發技術

隨著人工智能技術向多學科交叉融合與工程實踐領域縱深發展,MATLAB 2024b深度學習工具箱通過架構創新與功能強化,為科研創新和行業應用提供了全棧式解決方案。基于該版本工具鏈的三大革新方向展開:一是構建覆蓋經典模型與前沿架構的體系化&…

Springboot美食分享平臺

一、 緒論 1.1 研究意義 當今社會作為一個飛速的發展社會,網絡已經完全滲入人們的生活, 網絡信息已成為傳播的第一大媒介, 可以毫不夸張說網絡資源獲取已逐步改變了人們以前的生活方式,網絡已成為人們日常,休閑主要工…

微信小程序——世界天氣小助手

哈嘍,大家好! 最近小編開發了一個簡單的微信小程序——世界天氣小助手,希望大家喜歡。 No.1: 為大家介紹下開發者工具下的頁面結構。一共有三個界面{主頁、搜索頁、詳情頁}No.2: 具體頁面展示:當前頁面是主頁&…

基于單片機的智能家居安防系統設計

摘 要 為了應對目前人們提出的對生活越來越智能的要求,在提高生活品質的同時降低意外事件發生對用戶造成的經濟損失或其他損失。針對日常生活中經常發生的火災,失竊,電力資源浪費等生活問題,本設計正是在這種需求背景下展開研究…

騰訊研究院 | AI 浪潮中的中國品牌優勢解碼:華為、小米、大疆、科大訊飛等品牌從技術破壁到生態領跑的全維突圍

當 DeepSeek-R1 模型在 2025 年掀起大眾 AI 熱潮,當騰訊混元大模型與京東言犀大模型在產業場景中落地生根,中國品牌正在 AI 技術革命的浪潮中完成從追隨者到引領者的蛻變。騰訊營銷洞察(TMI)聯合京東消費及產業研究院、騰訊研究院…

FreeRTOS學習筆記——空閑任務prvIdleTask

文章目錄任務創建任務的內容推薦閱讀任務創建 prvIdleTask任務,是由任務調度函數vTaskStartScheduler創建的,任務優先級0,任務堆棧深度由配置選項configMINIMAL_STACK_SIZE定義。 void vTaskStartScheduler(void) {/* 其他代碼*//* Add the…

初識卷積神經網絡CNN

卷積神經網絡CNN 全連接神經網絡存在的問題: 輸入的形式應該是列向量,但是卷積神經網絡中的輸入是圖像(2D矩陣),那么就需要對圖片進行展平處理,原本圖像中蘊含的空間等信息就被打亂了輸入的特征多了,那么神經元的參數就會很多&…

高層功能架構詳解 - openExo

高層功能架構詳解1. 系統整體結構與模塊化設計2. 兩大核心類:ExoData 與 ExoA. ExoDataB. ExoC. 數據結構的層級關系3. 多微控制器協作與BLE通信4. 主控軟件運行流程(主循環偽代碼)5. 架構優點小結6. 與 Code Structure 的關系實用建議1. 系統…

【西北工業大學公開課】導引系統原理(全61講)周軍 -個人筆記版 5000字

【嚴正聲明】此文檔為個人筆記:僅供個人與同學參考學習,記錄學習過程,嚴謹商業轉載,或商業售賣!感謝西北工業大學公開課知識分享,公開資料開源!視頻鏈接:【【西北工業大學】導引系統…