I ran into a non-intuitive error while mucking around with docker-compose recently on an example.
Building some_server Step 1 : FROM alpine ---> 13e1761bf172 Step 2 : ENV DEMO_VAR WAT ---> Using cache ---> 378dbaa4a048 Step 3 : COPY docker-entrypoint.sh / ---> e5962cef9382 Removing intermediate container 43fa24c31444 Step 4 : ENTRYPOINT /docker-entrypoint.sh ---> Running in 5a2e19bf7a45 ---> 331d2648d969 Removing intermediate container 5a2e19bf7a45 Successfully built 331d2648d969 Recreating exampleworkingdockercomposeenvironmentvars_some_server_1
ERROR: for some_server rpc error: code = 2 desc = "oci runtime error: exec format error" Traceback (most recent call last): File "<string>", line 3, in <module> File "compose/cli/main.py", line 63, in main AttributeError: 'ProjectError' object has no attribute 'msg' docker-compose returned -1
The Actual Problem and Solution:
I had a
Dockerfile that used an entrypoint that looked like
The real problem was the
docker-entrypoint.sh script was missing a #shebang.
So changing this
echo "ENV Var Passed in: $DEMO_VAR"
#!/bin/sh echo "ENV Var Passed in: $DEMO_VAR"
solved my issue!
Also note it'll depend on the base image
FROM <some linux distro> that may change what you're required #shebang should be.