concourse-docker icon indicating copy to clipboard operation
concourse-docker copied to clipboard

Multi-arch ARM docker build

Open charlie-haley opened this issue 4 years ago • 7 comments

With ARM on the rise and most major cloud providers offering ARM instances, would it be possible to get ARM docker builds?

charlie-haley avatar Jan 14 '21 16:01 charlie-haley

Any news about this topic? It will be great to be able to run concourse locally on mac with M1 based processor, so arm64 image will be required.

theghost5800 avatar Dec 08 '21 16:12 theghost5800

Yeah, this would be great. I was trying to run concourse locally and the worker dies with this stack trace:

Attaching to concourse-docker-worker-1
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:07.417428673Z","level":"info","source":"baggageclaim","message":"baggageclaim.using-driver","data":{"driver":"overlay"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:07.443444632Z","level":"info","source":"baggageclaim","message":"baggageclaim.listening","data":{"addr":"127.0.0.1:7788"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:07.448789673Z","level":"info","source":"worker","message":"worker.garden.dns-proxy.started","data":{"session":"1.2"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:07.631670965Z","level":"error","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.failed-to-dial","data":{"addr":"127.0.0.1:7777","error":"dial tcp 127.0.0.1:7777: connect: connection refused","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:08.632984215Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.retrying","data":{"addr":"127.0.0.1:7777","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:08.633649840Z","level":"error","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.failed-to-dial","data":{"addr":"127.0.0.1:7777","error":"dial tcp 127.0.0.1:7777: connect: connection refused","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:09.633923299Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.retrying","data":{"addr":"127.0.0.1:7777","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:09.634709216Z","level":"error","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.failed-to-dial","data":{"addr":"127.0.0.1:7777","error":"dial tcp 127.0.0.1:7777: connect: connection refused","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:10.636339300Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.retrying","data":{"addr":"127.0.0.1:7777","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:10.636931591Z","level":"error","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.failed-to-dial","data":{"addr":"127.0.0.1:7777","error":"dial tcp 127.0.0.1:7777: connect: connection refused","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.637928092Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.retrying","data":{"addr":"127.0.0.1:7777","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.638873842Z","level":"error","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.failed-to-dial","data":{"addr":"127.0.0.1:7777","error":"dial tcp 127.0.0.1:7777: connect: connection refused","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.815803092Z","level":"info","source":"guardian","message":"guardian.no-port-pool-state-to-recover-starting-clean","data":{}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.840670050Z","level":"info","source":"guardian","message":"guardian.metrics-notifier.starting","data":{"interval":"1m0s","session":"5"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.842755467Z","level":"info","source":"guardian","message":"guardian.start.starting","data":{"session":"6"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.846789675Z","level":"info","source":"guardian","message":"guardian.metrics-notifier.started","data":{"interval":"1m0s","session":"5","time":"2021-12-21T18:17:11.846636259Z"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.887131800Z","level":"info","source":"guardian","message":"guardian.cgroups-tmpfs-already-mounted","data":{"path":"/sys/fs/cgroup"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.888238425Z","level":"info","source":"guardian","message":"guardian.mount-cgroup.started","data":{"path":"/sys/fs/cgroup/cpuset","session":"7","subsystem":"cpuset"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.889234550Z","level":"info","source":"guardian","message":"guardian.start.completed","data":{"session":"6"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.889417675Z","level":"error","source":"guardian","message":"guardian.starting-guardian-backend","data":{"error":"bulk starter: mounting subsystem 'cpuset' in '/sys/fs/cgroup/cpuset': operation not permitted"}}
concourse-docker-worker-1  | bulk starter: mounting subsystem 'cpuset' in '/sys/fs/cgroup/cpuset': operation not permitted
concourse-docker-worker-1  | bulk starter: mounting subsystem 'cpuset' in '/sys/fs/cgroup/cpuset': operation not permitted
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.904192134Z","level":"error","source":"worker","message":"worker.garden.gdn-runner.logging-runner-exited","data":{"error":"exit status 1","session":"1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.906219717Z","level":"info","source":"worker","message":"worker.garden.dns-proxy-runner.logging-runner-exited","data":{"session":"1.3"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.906832300Z","level":"error","source":"worker","message":"worker.garden-runner.logging-runner-exited","data":{"error":"Exit trace for group:\ngdn exited with error: exit status 1\ndns-proxy exited with nil\n","session":"8"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.907569134Z","level":"info","source":"worker","message":"worker.container-sweeper.sweep-cancelled-by-signal","data":{"session":"6","signal":2}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.907990425Z","level":"info","source":"worker","message":"worker.container-sweeper.logging-runner-exited","data":{"session":"13"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.908572842Z","level":"info","source":"worker","message":"worker.volume-sweeper.sweep-cancelled-by-signal","data":{"session":"7","signal":2}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.908838759Z","level":"info","source":"worker","message":"worker.volume-sweeper.logging-runner-exited","data":{"session":"14"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.909004759Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.cancelled","data":{"addr":"127.0.0.1:7777","network":"tcp","session":"4.1.4"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.909698217Z","level":"info","source":"worker","message":"worker.baggageclaim-runner.logging-runner-exited","data":{"session":"9"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.910312759Z","level":"info","source":"worker","message":"worker.debug-runner.logging-runner-exited","data":{"session":"10"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.910032300Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.run.context-done","data":{"command":"forward-worker","context-error":{},"session":"4.1.3"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.910962009Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.run.signal-sent","data":{"command":"forward-worker","session":"4.1.3"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.912175300Z","level":"info","source":"worker","message":"worker.healthcheck-runner.logging-runner-exited","data":{"session":"11"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.919021342Z","level":"error","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.failed-to-dial","data":{"addr":"127.0.0.1:7788","error":"dial tcp 127.0.0.1:7788: connect: connection refused","network":"tcp","session":"4.1.5"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.919209134Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.forward-conn.cancelled","data":{"addr":"127.0.0.1:7788","network":"tcp","session":"4.1.5"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.923838675Z","level":"info","source":"worker","message":"worker.beacon-runner.beacon.exited","data":{"session":"4.1"}}
concourse-docker-worker-1  | {"timestamp":"2021-12-21T18:17:11.924871175Z","level":"info","source":"worker","message":"worker.beacon-runner.logging-runner-exited","data":{"session":"12"}}
concourse-docker-worker-1  | error: Exit trace for group:
concourse-docker-worker-1  | garden exited with error: Exit trace for group:
concourse-docker-worker-1  | gdn exited with error: exit status 1
concourse-docker-worker-1  | dns-proxy exited with nil
concourse-docker-worker-1  | 
concourse-docker-worker-1  | container-sweeper exited with nil
concourse-docker-worker-1  | volume-sweeper exited with nil
concourse-docker-worker-1  | baggageclaim exited with nil
concourse-docker-worker-1  | debug exited with nil
concourse-docker-worker-1  | healthcheck exited with nil
concourse-docker-worker-1  | beacon exited with nil
concourse-docker-worker-1  | 
concourse-docker-worker-1 exited with code 1

jrhode2 avatar Dec 21 '21 18:12 jrhode2

@jrhode2 I had the same issue and resolution for this is to migrate Docker Desktop for Windows from Hyper-V to WSL2. This is only applicable if you use windows.

theghost5800 avatar Jan 26 '22 09:01 theghost5800

@jrhode2 I had the same issue and resolution for this is to migrate Docker Desktop for Windows from Hyper-V to WSL2. This is only applicable if you use windows.

Thanks @theghost5800 but unfortunately I'm working on a mac with the Apple M1 chip.

jrhode2 avatar Jan 26 '22 16:01 jrhode2

I'm working on MAC with M1, and I see the exactly same issue...

yuzs2 avatar Jun 06 '22 02:06 yuzs2

We ran into this recently and our devs that have Apple Silicon have successfully used this: https://hub.docker.com/r/rdclda/concourse. It would be nice to be able to use the official image though.

gumaerc avatar Aug 02 '22 19:08 gumaerc

Attempting to run this in a kubernetes cluster. Most of the nodes the lab cluster are arm64, only limited amd64 resources. Would be really nice to get multi-arch builds going. arm64 is pretty much mainstream at this point in aws/gcp/azure, so it may impact people's decision to implement Concourse CI. Not having arm64 builds and not conforming to standard TLS certs, which makes concourse incompatible with cert-manager, is seriously impacting my ability to deploy Concourse CI.

japtain-cack avatar Mar 13 '23 11:03 japtain-cack