在x86_64的ubuntu下载并运行aarch64架构的容器

发布时间 2023-11-26 12:21:32作者: Linux袁浩

在x86_64的ubuntu下载并运行aarch64架构的容器

docker仓库官网

https://hub.docker.com/

docker操作相关指令

#拉取docker镜像
sudo docker pull 镜像名称
#加载本地docker文件
sudo docker load -i 文件路径
#进入相关容器
sudo docker exec -it 容器名称或容器ID /bin/bash
#显示docker容器
sudo docker inspect 容器名称或容器ID | grep -i 'architecture'
#将容器保存为镜像
sudo docker commit 容器名称或容器ID 镜像名称:镜像标签
#导出镜像
sudo docker save -o 镜像文件路径 镜像名称:镜像标签
docker 运行其他平台容器,需要使用 --platform 参数来指定平台
docker 19.03.9 及以上的版本才支持 --platform 参数

下载arrch64架构的ubuntu16.04的docker容器

sudo docker pull --platform arm64 ubuntu:16.04

https://github.com/multiarch/qemu-user-static

sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset

下载 qemu-aarch64-static

wget https://github.com/multiarch/qemu-user-static/releases/download/v5.2.0-1/qemu-aarch64-static
tar -xvf qemu-aarch64-static.tar.gz \
&& chmod 755 qemu-aarch64-static \
&& sudo cp qemu-aarch64-static /usr/bin/qemu-aarch64-static

启动aarch64容器时需要将qemu-aarch64-static带入到容器内

sudo docker run -itd --privileged=true --restart=always --name qt1212ubuntu1604 --platform arm64 -v /svn:/svn -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static ubuntu:16.04
sudo docker exec -it qt1212ubuntu1604 /bin/bash
sudo docker run -itd --privileged=true --restart=always --name qt1212ubuntu1804 --platform arm64 -v /svn:/svn -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static ubuntu:18.04
sudo docker exec -it qt1212ubuntu1804 /bin/bash