那这些用装吗qemu-user-static binfmt-support
时间: 2023-08-07 17:04:23 浏览: 151
qemu使用手册,支持各种平台
4星 · 用户满意度95%
如果您想在Docker容器中运行不同体系结构的应用程序,比如在x86_64主机上运行ARM应用程序,那么您需要使用`qemu-user-static`和`binfmt-support`来实现。
具体步骤如下:
1. 安装Docker和Docker-in-Docker
在主机上安装Docker,然后使用以下命令启动Docker-in-Docker(DinD)容器:
```
docker run --privileged --name dind -d docker:19.03.11-dind
```
2. 安装qemu-user-static和binfmt-support
在DinD容器内部,使用以下命令安装`qemu-user-static`和`binfmt-support`:
```
apk add --no-cache qemu-user-static binfmt-support
```
3. 注册qemu-user-static
在DinD容器内部,使用以下命令注册`qemu-user-static`:
```
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
```
这会将`qemu-user-static`注册到主机的`binfmt_misc`文件系统中,使得主机能够识别不同体系结构的应用程序。
4. 运行不同体系结构的应用程序
在DinD容器内部,使用以下命令启动不同体系结构的应用程序:
```
docker run --rm -t arm32v7/alpine uname -a
```
这会在DinD容器内部启动一个ARM32v7体系结构的Alpine容器,并打印出其内核版本信息。
需要注意的是,如果您想在Docker容器中运行不同体系结构的应用程序,您需要在启动容器时指定正确的体系结构标识,比如`--platform`选项。
阅读全文