使用Dockerfiler 创建基于debian的arm镜像
1、安装docker环境,安装链接参考,本文章使用环境为ubuntu18.04
2、在https://hub.docker.com中搜索debian的相关镜像或者通过docker search搜索
3、使用docker命令获取镜像
docker pull arm32v7/debian
4、此时直接运行会报错,如下报错之类的
standard_init_linux.go:190: exec user process caused "exec format error"
5、安装sudo apt-get install binfmt-support qemu qemu-user-static,熟悉chroot命令的应该知道该命令可以模拟运行arm系统,此时我们需要在pull下来的镜像arm32v7/debian中拷贝qemu-arm-static到/usr/bin目录中。
在系统中新建一个文件夹docker,把系统中的/usr/bin/qemu-arm-static拷贝到docker目录中,在docker目录中新建一个Dockerfile文件,并在Dockerfile文件中编辑以下内容。
FROM arm32v7/debian
COPY qemu-arm-static /usr/bin/qemu-arm-static
然后运行
sudo docker build -t arm32v7/debian9 /home/u/Documents/docker
sudo docker run -it arm32v7/debian9 bash
arm32v7/debian9为镜像的tag,/home/u/Documents/docker为Dockerfile所在目录,该Dockerfile会在创建镜像的时候把当前目录的qemu-arm-static拷贝到arm32v7/debian镜像中。
6、此方法适用于大部分的arm镜像,镜像名称可以更改为arm32v7/debian:stretch、arm32v7/ubuntu、arm32v7/alpine、arm32v7/busybox等等。