32-bit docker image - compiled binary appears as 64bit

411 Views Asked by At

Im trying to create a 32bit docker image, that has Googles gRPC on it.

I have created the Dockerfile extending from:

FROM  i386/ubuntu:17.04

I am able to compile both gRPC and Proto Buffers, however, when I try to use protoc I get bash: /usr/local/bin/protoc: No such file or directory.

When I run file, I see that the assembly is seen as 64bit.

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

My question, therefore, is how to write and build a docker image that is actually 32bit. When I run uname -m or arch in the container I get x86_64, but dpkg --print-architecture shows i386 so it would seem that it's not actually a 32bit image.

0

There are 0 best solutions below