M1 mac 直接安装x86 centos Docker

文章描述了如何在配备M1芯片的Mac电脑上安装DockerDesktop,配置DockerEngine的镜像源,并拉取CentOS容器。由于默认创建的是arm架构的容器,文章指出了需要通过指定--platform参数为linux/amd64来运行兼容的软件包安装,如yum安装glibc-devel.i686和gcc。此外,还提供了更改CentOS仓库镜像源以加速下载的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 安装M1 DockerDesktop
    https://www.docker.com/products/docker-desktop/

  2. 打开设置DockerEngine 将下列插入进去

    {
    "registry-mirrors": ["https://mj9kvemk.mirror.aliyuncs.com"]
    }
    
  3. 拉取CentOS系统

    docker pull centos
    
  4. 创建CentOS(x86)容器
    在我的 M1 Mac 上,我可以从 Docker Hub 运行 Ubuntu 映像的 arm64 和 amd64 版本。uname 提供的机器硬件名称证明了这一点。

    # docker run --rm -ti --platform linux/arm/v7 ubuntu:latest uname -m
    armv7l
    
    # docker run --rm -ti --platform linux/amd64 ubuntu:latest uname -m
    x86_64
    

    因为Docker默认创建的是arm架构的CentOS,如果没有指定为amd64,将无法执行yum install glibc-devel.i686,gcc -m32等命令,
    运行 amd64 映像由 Rosetta2 仿真启用,并非所有映像都可用于 ARM64 体系结构。您可以添加 --platform linux/amd64 以在仿真下运行英特尔映像.

    cd ~/workspace
    mkdir armlearn
    cd armlearn
    mkdir armcode
    ls -al
    
    docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -it --entrypoint=/bin/bash --platform linux/amd64 -v "$PWD:/armcode" --name=arm_learn centos 
    
    $PWD是为了将当前目录挂载以实现同步,
    
  5. 将镜像从 mirror.centos.org 更改为 vault.centos.org

    cd /etc/yum.repos.d/
    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    yum makecache
    yum update -y
    
  6. 安装常用软件 vim make 库等

    yum -y install vim
    yum install glibc.i686
    yum -y install gcc automake autoconf libtool make
    yum install ncurses-devel
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值