Docker-letsencrypt-nginx-proxy-companion: Support for arm64

Created on 13 Jan 2018  路  8Comments  路  Source: nginx-proxy/docker-letsencrypt-nginx-proxy-companion

Related to this issue with nginx-proxy - please can there be a version of letsencrypt-nginx-proxy-companion for arm64? Right now it downloads but aborts on startup with:

standard_init_linux.go:195: exec user process caused "exec format error"

I'm guessing this is because the Dockerfile is hardcoded to install an amd64 version of docker-gen.

Enhancement arm

Most helpful comment

Since the Dockerhub images still seem not to be multi arch, I wanted to add the steps to still run on e.g. Raspberry Pi in case it is useful to someone else.

Build image on Raspberry instead of using the Docker Hub image:

git clone https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion.git
cd docker-letsencrypt-nginx-proxy-companion
docker build -t jrcs/letsencrypt-nginx-proxy-companion .

Then you can run a container as usually.

All 8 comments

Hi ! That's planned but I can't tell you when that'll be done. Note that if you use raspbian, you'll need arm/armhf/armv7l binaries rather than arm64 (raspbian on rpi3 is still 32 bits, as far as I know there is no 64 bits os on rpi3 yet. Arch, maybe ?).

I think just changing the Dockerfile to use the correct docker-gen binary and building from it on the arm machine _should_ work, but I haven't tested it yet. I'll probably try that later this WE.

Thanks for responding so quickly. I'm building for a Scaleway ARM server so in this case it really is arm64. But I'm sure rpi users will appreciate the image going multi-arch too.

Due to other reasons I'm retreating to x86 for now, but when support is more common in Docker images I'll give it another go.

With a bit of Dockerfile hacking it worked perfectly on a Raspberry Pi 3 (just very slowly for everything related to cryptography, as expected). I don't think it will be any different on Scaleway's arm or arm64 servers.

I submitted a PR on jwilder/docker-gen to have arm64 binaries availables.

Deployment to arm and arm64 can be made relatively easy with docker-compose and custom Dockerfiles once those binaries are available.

I came up with this to have an easier to use solution: https://github.com/buchdag/multiarch-letsencrypt-nginx-proxy

The image isn't natively multi arch on Dockerhub yet, but #391 brings the ability to build the image on non amd64 archs.

Since the Dockerhub images still seem not to be multi arch, I wanted to add the steps to still run on e.g. Raspberry Pi in case it is useful to someone else.

Build image on Raspberry instead of using the Docker Hub image:

git clone https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion.git
cd docker-letsencrypt-nginx-proxy-companion
docker build -t jrcs/letsencrypt-nginx-proxy-companion .

Then you can run a container as usually.

Since the Dockerhub images still seem not to be multi arch, I wanted to add the steps to still run on e.g. Raspberry Pi in case it is useful to someone else.

Build image on Raspberry instead of using the Docker Hub image:

git clone https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion.git
cd docker-letsencrypt-nginx-proxy-companion
docker build -t jrcs/letsencrypt-nginx-proxy-companion .

Then you can run a container as usually.

Thank you very much for your help. I've followed your instructions, but when I try to use the generated image, I get this error:
Error: can't get docker-gen container id !

arm64 arch is now available from Dockerhub, see #639 for details.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

maitrungduc1410 picture maitrungduc1410  路  5Comments

erikverheij picture erikverheij  路  5Comments

SuperRoach picture SuperRoach  路  5Comments

lucasjahn picture lucasjahn  路  3Comments

KetchupBomb picture KetchupBomb  路  6Comments