Problem
I am trying to create a docker image using a Haskell application inside. however resolving the domain name of the hostnames of other containers on the network in my application inside the docker container fails (but I can wget/ pingother containers and their hostnames are correctly resolved).
To find the root cause, I tried to resolve the host names manually (using the package Network.DNS) and use only the IP addresses in servant-client. However, this gives just a critical error message:
Network.BSD.getProtocolByName: does not exist (no such protocol name: udp)
I think I am missing some packages inside my docker image. I tried to install libc6-compat, but without success ( libc6from Debian I was used to compile the Haskell application). Moreover, it /etc/protocolscontains the correct entries. What else is missing in the docker image?
Docker Images
The docker image that I use to run the application alpine:3.6is the entire docker file, there is not much in it . This is a different image than used to create the application (it is 20 times smaller).
The docker image that I use to create the haskell application is based on debian:stretch. Dockerfile .
All source code with assembly instructions is available here (the Angular part may be skipped):
https://github.com/carbolymer/blockchain/tree/0b041875f71b2a09dc8568ee7b0cc22460fd5624