osixia / docker-keepalived

Keepalived container image 🐳🌴
MIT License
399 stars 146 forks source link

Raspberry Pi Image #35

Open onemico opened 4 years ago

onemico commented 4 years ago

Hi,

As anyone got this working on a Raspberry Pi?

No matter what image I use of the Arm versions, I get the error which is usually associated with the wrong architecture:

keepalived | standard_init_linux.go:211: exec user process caused "exec format error"

I have tried latest, stable and the specific 2.0.19 images and both arm32v7 (as should be expected for a Pi 3) and just to try it the arm64v8 images too.

Any help much appreciated.

BertrandGouny commented 4 years ago

any review will be much appreciated :)

onemico commented 4 years ago

I noticed there was an update 2 days ago, but i am still seeing the same issue :(

Pulling keepalived (osixia/keepalived:stable-arm32v7)...
stable-arm32v7: Pulling from osixia/keepalived
89d9c30c1d48: Pull complete
10c8abecf49f: Pull complete
276da04034f0: Pull complete
a06e21beb11d: Pull complete
47995e0bf402: Pull complete
3eddef1c0da7: Pull complete
86716505d5ee: Pull complete
Digest: sha256:849d792d163438794436eccf92cd8399f251535b135520ce5a5b1974446ced48
Status: Downloaded newer image for osixia/keepalived:stable-arm32v7
Creating keepalived ... done
Attaching to keepalived
keepalived    | standard_init_linux.go:211: exec user process caused "exec format error"
onemico commented 4 years ago

Hi,

I still can't get this to work on my raspberry Pi, I am starting to think I am doing something silly.

Pulling keepalived (osixia/keepalived:stable)...
stable: Pulling from osixia/keepalived
89d9c30c1d48: Pull complete
10c8abecf49f: Pull complete
276da04034f0: Pull complete
b4c9fb2a2478: Pull complete
24ca567d45a6: Pull complete
838e7f32f2eb: Pull complete
eda8b02a8ca2: Pull complete
Digest: sha256:74179ae03efe2a975bfbd411181315d6eb8052d91c10627b03ad60bceac71890
Status: Downloaded newer image for osixia/keepalived:stable
Creating keepalived ... done
Attaching to keepalived
keepalived    | standard_init_linux.go:211: exec user process caused "exec format error"
BertrandGouny commented 4 years ago

Hi can you try to run : osixia/light-baseimage:alpine-0.1.6-dev image ?

onemico commented 4 years ago

No, I get the same error:

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

BertrandGouny commented 4 years ago

ok thanks, so i guess the error is on the baseimage :s

mozzhead164 commented 4 years ago

Did you end up getting anything working? What if you try —resolve-image=never at the end of the docker stack deploy command?

Also I’m wondering about if ran as a service on a swarm, how would you use different priorities for each of the nodes. Would you just create a service targeted for each node and use labels to make sure it only runs on that node? I can give this a go at running later on today and see how I get on...

onemico commented 4 years ago

Did you end up getting anything working? What if you try —resolve-image=never at the end of the docker stack deploy command?

Also I’m wondering about if ran as a service on a swarm, how would you use different priorities for each of the nodes. Would you just create a service targeted for each node and use labels to make sure it only runs on that node? I can give this a go at running later on today and see how I get on...

Nah, still have never got it working, gave up and installed outside of docker for the time being sadly.

mskwon commented 4 years ago

I got it to work. You need to set up a platform specific docker-light-baseimage by prefixing the Dockerfile base alpine image with arm32v6 or arm32v7. If you modify the docker-keepalived image to use this new docker-light-baseimage image then the resulting image works. I've tested this for the Raspberry Pi1B, Raspberry Pi2B, and the Raspberry Pi3B.

BertrandGouny commented 4 years ago

@mskwon thanks so i guess https://github.com/osixia/docker-keepalived/blob/0eb9a3f41d2f794270ea1f884236b26ab35dcb8d/.travis.yml#L47 is not wworking properly :s

Vorsku commented 4 years ago

Looks like it's broken since the move to Alpine.

If I run the multiarch image based on Alpine (which contains armv7) it fails: pi@docker-pi-01 $ docker run --name test osixia/light-baseimage:alpine-0.1.6-dev Unable to find image 'osixia/light-baseimage:alpine-0.1.6-dev' locally alpine-0.1.6-dev: Pulling from osixia/light-baseimage Digest: sha256:452c4295dbcd2791d0c184a289c1078b7356a86a8374af6ba77275afbf902496 Status: Downloaded newer image for osixia/light-baseimage:alpine-0.1.6-dev standard_init_linux.go:211: exec user process caused "exec format error"

If I run the multiarch image based on Debian (which contains armv7) it works: pi@docker-pi-01 $ docker run --name test osixia/light-baseimage:release-1.2.0-dev CONTAINER_LOG_LEVEL = 3 (info) Set environment for startup files Set environment for container process Running bash... bash exited with status 0. Killing all processes...

Obviously the problem is that the current branch of docker-keepalived has been adapted to work with Alpine.

rafaelreis-r commented 4 years ago

Can confirm this is happening. 3 amd64 node, 1 arm64 node and 2 armhf nodes, amd64 nodes are running fine, tried all different images from arm tags, none worked.

NightDragon1 commented 3 years ago

Yep, broken for arm...