You're going to have much better luck with an alpine-based docker image. Unfortunately non-musl based systems have a lot of issues with static compilation, so while this will work with hello world, if you try something more complicated you will likely get linker errors.
glibc has some plugins which make it not easy to statically link. Musl doesn't have that. And alpine compiles openssl etc. with a config amenable to static linking. It's all about distro choices.
https://crystal-lang.org/docs/using_the_compiler/ "Creating a standalone executable":
crystal build some_program.cr --release --static
Builds a static binary (just tried it on Ubuntu 18.04 with a simple hello-world).