Mac Apple silicon如何指定運行amd64架構的ubuntu Docker?

如何指定運行amd64架構的ubuntu Docker

下面這個docker命令如何指定運行amd64架構的ubuntu Docker?

docker run -it -v $(pwd):/workspace ubuntu:20.04 bash

這個命令已經非常接近正確運行一個基于 amd64 架構的 Ubuntu 容器了,但如果你想明確指定運行 amd64 架構的鏡像(例如在非 amd64 的主機上,如 ARM 架構的 Mac 或其他設備),可以用 Docker 的 --platform 參數來強制指定架構。

以下是改進后的命令:

docker run --platform linux/amd64 -it -v $(pwd):/workspace ubuntu:20.04 bash

解釋:

  1. --platform linux/amd64:

    • 明確告訴 Docker 使用 amd64 架構的鏡像。即使你的主機是其他架構(如 arm64),Docker 會拉取并運行 amd64 的鏡像(需要確保 Docker 支持多架構鏡像或主機啟用了模擬)。
    • 如果你的主機已經是 amd64 架構(如大多數 x86_64 的 PC),Docker 默認會拉取 amd64 鏡像,這部分可以省略。
  2. -it:

    • -i 表示交互模式,-t 分配一個偽終端,結合起來可以讓你進入容器的 Bash shell。
  3. -v $(pwd):/workspace:

    • 將當前工作目錄($(pwd))掛載到容器內的 /workspace 目錄,方便在主機和容器之間共享文件。
  4. ubuntu:20.04:

    • 指定鏡像為 Ubuntu 20.04。如果 Docker Hub 上該鏡像支持多架構,--platform 會確保拉取 amd64 版本。
  5. bash:

    • 啟動容器后直接運行 Bash shell。

注意事項:

  • 如果你在 amd64 架構的主機上運行,且不需要強制指定架構,可以直接用你原來的命令:
    docker run -it -v $(pwd):/workspace ubuntu:20.04 bash
    
  • 如果你在非 amd64 主機上運行(比如 M1/M2 Mac),沒有 --platform 可能會拉取主機默認架構的鏡像(例如 arm64),而 Ubuntu 20.04 不一定有對應的 ARM 版本,或者行為可能不符合預期。
  • 確保 Docker 已安裝并支持多架構(可以用 docker buildx 或檢查 docker info 確認)。

運行后,你會進入一個 Ubuntu 20.04 的 Bash 環境,當前目錄會掛載到 /workspace

如何查看本地容器鏡像是什么架構?

要查看本地 Docker 容器鏡像的架構,可以使用 docker inspect 命令結合一些工具來檢查鏡像的元數據。以下是具體步驟:

方法 1:使用 docker inspect

  1. 列出本地鏡像:

    docker images
    

    這會顯示你本地的鏡像列表,例如:

    REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
    ubuntu        20.04     1234567890ab   2 weeks ago    72.8MB
    
  2. 使用 docker inspect 查看鏡像詳情:

    docker inspect <IMAGE_ID>
    

    <IMAGE_ID> 替換為上一步中的 IMAGE ID(如 1234567890ab)。

  3. 檢查輸出中的架構信息:
    在返回的 JSON 數據中,查找 ArchitectureOs 字段。例如:

    {"Id": "sha256:1234567890ab...","Architecture": "amd64","Os": "linux",...
    }
    
    • Architecture 表示鏡像的 CPU 架構(如 amd64arm64arm 等)。
    • Os 表示操作系統(通常是 linux)。

方法 2:使用 docker manifest(可選,需實驗性支持)

如果鏡像支持多架構(multi-arch),可以用 docker manifest inspect 查看更多細節,但這通常需要從 Docker Hub 獲取 manifest,且本地鏡像可能不直接提供完整 manifest。不過,你可以試試:

docker manifest inspect ubuntu:20.04

如果成功,會返回支持的架構列表,但需要啟用 Docker 的實驗性功能(修改 ~/.docker/config.json 或守護進程配置)。

方法 3:運行容器并檢查

如果 docker inspect 不夠明確,可以啟動容器并直接檢查:

  1. 運行容器:
    docker run -it <IMAGE_ID> bash
    
  2. 在容器內運行:
    uname -m
    
    輸出會顯示架構:
    • x86_64 表示 amd64
    • aarch64 表示 arm64
    • arm 表示 32 位 ARM。

簡化腳本

你可以寫一個簡單的命令組合來快速查看:

docker inspect <IMAGE_ID> | grep -i "Architecture"

輸出示例:

"Architecture": "amd64"

注意事項

  • 如果鏡像沒有明確標注架構,可能是因為它是單一架構鏡像,默認與構建時的主機架構一致。
  • 多架構鏡像(multi-arch)會根據主機架構動態選擇,除非用 --platform 指定。

用這些方法,你就能確認本地鏡像的架構了!有什么具體鏡像想查嗎?我可以幫你進一步分析。

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

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

相關文章

ColPali:基于視覺語言模型的高效文檔檢索

摘要 文檔是視覺豐富的結構&#xff0c;不僅通過文本傳遞信息&#xff0c;還包括圖表、頁面布局、表格&#xff0c;甚至字體。然而&#xff0c;由于現代檢索系統主要依賴從文檔頁面中提取的文本信息來索引文檔&#xff08;通常是冗長且脆弱的流程&#xff09;&#xff0c;它們…

使用C++實現HTTP服務

天天開心&#xff01;&#xff01;&#xff01; 閱讀本篇文章之前&#xff0c;請先閱讀HTTP基礎知識 傳送門----> HTTP基礎知識 文章目錄 一、CWeb服務器&#xff08;核心代碼WebServer.cpp&#xff09;二、靜態文件結構三、編譯和運行四、訪問測試 一、CWeb服務器&#xff…

Reactive編程入門:Project Reactor 深度指南

文章目錄 4.2.1 創建 Flux 和 MonoFlux 基礎創建方式高級創建模式Mono 創建方式 4.2.2 訂閱與數據處理基礎訂閱模式數據處理操作符 4.2.3 核心操作符深度解析flatMap 操作符zip 操作符buffer 操作符 高級組合模式復雜流處理示例背壓處理策略 測試響應式流性能優化技巧 React 編…

【萬字總結】前端全方位性能優化指南(完結篇)——自適應優化系統、遺傳算法調參、Service Worker智能降級方案

前言 自適應進化宣言 當監控網絡精準定位病灶&#xff0c;真正的挑戰浮出水面&#xff1a;系統能否像生物般自主進化&#xff1f; 五維感知——通過設備傳感器實時捕獲環境指紋&#xff08;如地鐵隧道弱光環境自動切換省電渲染&#xff09; 基因調參——150個性能參數在遺傳算…

PQ以及有關索引的筆記Faiss: The Missing Manual

參考Faiss 索引結構總結&#xff1a; 為了加深記憶&#xff0c;介紹一下Inverted File Index&#xff08;IVF&#xff09;的名字由來&#xff1a; IVF索引的名字源自“倒排文件”&#xff08;Inverted File&#xff09;的概念。在傳統的信息檢索中&#xff0c;倒排文件是一種索…

win10徹底讓圖標不顯示在工具欄

關閉需要不顯示的軟件 打開 例此時我關閉了IDEA的顯示 如果說只是隱藏&#xff0c;鼠標拖動一個道理 例QQ 如果說全部顯示不隱藏

關稅核爆72小時!跨境矩陣防御戰緊急打響

一、T86崩塌&#xff1a;全球貿易鏈的至暗時刻 &#xff08;配圖&#xff1a;美國海關系統深夜彈出紅色警報&#xff09; 5月2日凌晨2:17&#xff0c;杭州某光伏企業的供應鏈系統突然發出刺耳警報——其價值1800萬美元的逆變器模塊被劃入34%關稅清單。這場代號"黑天鵝突…

藍橋杯Java B組省賽真題題型近6年統計分類

困難題 題號題型分值代碼量難度通過率內容2024-F解答1581困難0.12最短路問題 Dijkstra 期望2024-G解答20116困難0.19模擬 暴力 搜索 DFS 剪紙 枚舉2023-H解答2070困難0動態規劃2022-H解答20109困難0.032022-J解答25141困難0搜索2021-H解答2041困難0.18二分 思維 規律2021-I解答…

【網絡流 圖論建模 最大權閉合子圖】 [六省聯考 2017] 壽司餐廳

題目描述&#xff1a; P3749 [六省聯考 2017] 壽司餐廳 題目描述 Kiana 最近喜歡到一家非常美味的壽司餐廳用餐。 每天晚上&#xff0c;這家餐廳都會按順序提供 n n n 種壽司&#xff0c;第 i i i 種壽司有一個代號 a i a_i ai? 和美味度 d i , i d_{i, i} di,i?&…

前端面試題(三):axios有哪些常用的方法

Axios 是一個基于 Promise 的 HTTP 客戶端&#xff0c;用于瀏覽器和 Node.js 中發送 HTTP 請求。它提供了一些常用的方法來處理不同類型的請求。以下是 Axios 中常用的一些方法&#xff1a; 1. axios.get() 用于發送 GET 請求&#xff0c;從服務器獲取數據。 axios.get(/api/d…

python match case語法

學習路線&#xff1a;B站 普通的if判斷 def if_traffic_light(color):if color red:return Stopelif color yellow:return Slow downelif color green:return Goelse:return Invalid colorprint(if_traffic_light(red)) # Output: Stop print(if_traffic_light(yellow)) …

LLaMA-Factory大模型微調全流程指南

該文檔為LLaMA-Factory大模型微調提供了完整的技術指導&#xff0c;涵蓋了從環境搭建到模型訓練、推理和合并模型的全流程&#xff0c;適用于需要進行大模型預訓練和微調的技術人員。 一、docker 容器服務 請參考如下資料制作 docker 容器服務&#xff0c;其中&#xff0c;掛…

【HCIA】靜態綜合實驗練習筆記

實驗拓撲圖如下&#xff1a; 實驗配置思路如下&#xff1a; 1、網段劃分、配置IP地址 2、配置DHCP&#xff0c;使客戶端獲得ip地址 3、配置靜態明細路由&#xff0c;內網全網通 4、配置空接口防環 5、配置優先級&#xff0c;實現選路最佳 6、配置缺省路由&#xff0c;實現公網通…

大數據(4.5)Hive聚合函數深度解析:從基礎統計到多維聚合的12個生產級技巧

目錄 背景一、Hive聚合函數分類與語法1. 基礎聚合函數2. 高級聚合函數 二、6大核心場景與案例場景1&#xff1a;基礎統計&#xff08;SUM/COUNT&#xff09;場景2&#xff1a;多維聚合&#xff08;GROUPING SETS&#xff09;場景3&#xff1a;層次化聚合&#xff08;ROLLUP&…

RTOS基礎 -- NXP M4小核的RPMsg-lite與端點機制回顧

一、RPMsg-lite與端點機制回顧 在RPMsg協議框架中&#xff1a; Endpoint&#xff08;端點&#xff09; 是一個邏輯通信端口&#xff0c;由本地地址&#xff08;local addr&#xff09;、遠程地址&#xff08;remote addr&#xff09;和回調函數組成。每個消息都會發送到特定的…

NineData云原生智能數據管理平臺新功能發布|2025年3月版

本月發布 15 項更新&#xff0c;其中重點發布 3 項、功能優化 11 項、性能優化 1 項。 重點發布 基礎服務 - MFA 多因子認證 新增 MFA 多因子認證&#xff0c;提升賬號安全性。系統管理員開啟后&#xff0c;所有組織成員需綁定認證器&#xff0c;登錄時需輸入動態驗證碼。 數…

DAY 35 leetcode 202--哈希表.快樂數

題號202 編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」 定義為&#xff1a; 對于一個正整數&#xff0c;每一次將該數替換為它每個位置上的數字的平方和。然后重復這個過程直到這個數變為 1&#xff0c;也可能是 無限循環 但始終變不到 1。如果這個過程 結果為 1&a…

Maven+Spring實現后端開發

一、前置知識的介紹 1.Spring 輕量級的 DI / IoC 和 AOP 容器的開源框架 容器的開源框架網址&#xff1a;https://spring.io/projects/spring-framework 作用&#xff1a;可簡化管理創建和組裝對象之間的依賴關系 將controller----->service------->dao層的依賴配置…

解鎖界面設計密碼,打造極致用戶體驗

界面設計是對軟件、網站、移動應用等產品的用戶界面進行設計的過程&#xff0c;旨在為用戶提供美觀、易用、高效的交互體驗。以下是關于界面設計的一些主要方面&#xff1a; 一、設計原則 用戶中心原則&#xff1a;以用戶為中心&#xff0c;了解用戶的需求、期望、行為和習慣…

Joint Receiver Design for Integrated Sensing and Communications

摘要——在本文中&#xff0c;我們研究了集成感知與通信(ISAC)系統的聯合接收機設計&#xff0c;其中通信信號和目標回波信號同時被接收和處理&#xff0c;以在兩種功能之間實現平衡性能。特別地&#xff0c;我們提出了兩種設計方案來解決聯合感知和通信問題中的接收信號處理。…