M1 mac 直接安装x86 centos Docker

  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
    

你可能感兴趣的:(docker,macos,centos,docker)