我正在尝试创建一个 32 位的 docker 镜像,上面有 Googles gRPC。
我创建了 Dockerfile 扩展自:
FROM i386/ubuntu:17.04
我能够同时编译 gRPC 和 Proto Buffers,但是,当我尝试使用 protoc 时,我得到了bash: /usr/local/bin/protoc: No such file or directory
.
当我运行时file
,我看到程序集被视为 64 位。
file /usr/local/bin/protoc
/usr/local/bin/protoc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=e87bf6eb1c507bb7f65f3c7687df6a3b41b563be, stripped
因此,我的问题是如何编写和构建一个实际上是 32 位的 docker 映像。当我运行uname -m
或arch
在容器中运行时,我得到了x86_64
,但dpkg --print-architecture
显示i386
它看起来实际上不是 32 位图像。