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.mzph.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;我们提出了两种设计方案来解决联合感知和通信问题中的接收信号处理。…