If I build https://github.com/m3europe/procwrap on go 1.7.1 on alpine and try to run the binary on ubuntu trusty I get file not found, and the same if I build on trusty and try to run on alpine. I suspect this is to do with linking somehow but I'm a little out of my depth here having spent most of my career so far in managed execution environments. My seemingly naive understanding is that an AMD64 build should work on any AMD64 linux distro, no?
The below Dockerfile demonstrates the issue. The executable downloaded at line 6 was built on golang:1.7.1-alpine image:
FROM ubuntu:trusty
RUN apt-get update
RUN apt-get install -y wget
RUN mkdir /procwrap
WORKDIR /procwrap
RUN wget https://github.com/myles-mcdonnell/procwrap/releases/download/v1.0.0/procwrap.v1.amd64 -O procwrap
RUN wget https://raw.githubusercontent.com/myles-mcdonnell/procwrap/master/procwrap.toml -O procwrap.toml
RUN chmod +x procwrap
CMD ./procwrap -v