Полагаю, вы получаете эту ошибку, потому что вы создали динамически связанный двоичный файл, например:
$ gcc -o hello hello.c
$ ldd hello
linux-vdso.so.1 (0x00007ffe3b1ec000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7fe1fc7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7fe25ba000)
scratch
действительно базовый, в котором не так много so
для вашего двоичного файла в динамическийссылка на сайт.Итак, вам необходимо создать двоичный файл статической ссылки, например:
$ gcc -o hello -static hello.c
$ ldd hello
not a dynamic executable
Затем все будет работать следующим образом:
$ docker build -t hello .
Sending build context to Docker daemon 848.4kB
Step 1/3 : FROM scratch
--->
Step 2/3 : COPY hello /
---> 9d594b34f774
Step 3/3 : CMD ["/hello"]
---> Using cache
---> 2f1bad3099d3
Successfully built 2f1bad3099d3
Successfully tagged hello:latest
$ docker run -i hello
Hello, World!
И, если вы не используете scratch
образ, который имеет больше .so
в системе, тогда вам не нужно создавать статический двоичный файл.