caddyserver / caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
https://caddyserver.com
Apache License 2.0
55.53k stars 3.91k forks source link

Docker build hangs #6285

Closed Jleagle closed 2 months ago

Jleagle commented 2 months ago

Tried this Dockerifle

FROM caddy:builder-alpine AS builder
RUN caddy-builder github.com/caddy-dns/cloudflare

FROM caddy:alpine
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

and hangs here:

root@debian-s-1vcpu-512mb-10gb-fra1-01:~/infrastructure# docker compose up -d caddy
[+] Building 2339.9s (6/8)                                                                                                                                                                                                                                                                                                                                 docker:default
 => [caddy internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                           0.1s
[+] Building 2422.3s (6/8)                                                                                                                                                                                                                                                                                                                                 docker:default
 => [caddy internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                           0.1s
 => => transferring dockerfile: 255B                                                                                                                                                                                                                                                                                                                                 0.0s
 => [caddy internal] load .dockerignore                                                                                                                                                                                                                                                                                                                              0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                                                                      0.0s
 => [caddy internal] load metadata for public.ecr.aws/docker/library/caddy:alpine                                                                                                                                                                                                                                                                                    1.8s
 => [caddy internal] load metadata for public.ecr.aws/docker/library/caddy:builder-alpine                                                                                                                                                                                                                                                                            2.1s
 => [caddy builder 1/2] FROM public.ecr.aws/docker/library/caddy:builder-alpine@sha256:481c3357e533d892e2621d69ce3747a459e40af2f56159bcbd64b38bee1aa5bd                                                                                                                                                                                                             11.6s
 => => resolve public.ecr.aws/docker/library/caddy:builder-alpine@sha256:481c3357e533d892e2621d69ce3747a459e40af2f56159bcbd64b38bee1aa5bd                                                                                                                                                                                                                            0.0s
 => => sha256:1b98f3fd892c1605c157cc3a049bded9d706ffd51d9a753e18ab07510d0d9e2a 1.99kB / 1.99kB                                                                                                                                                                                                                                                                       0.0s
 => => sha256:c0e800cc7a9c84d26699931116102217b923104964e820bba39098ea1b544f5e 5.97kB / 5.97kB                                                                                                                                                                                                                                                                       0.0s
 => => sha256:619be1103602d98e1963557998c954c892b3872986c27365e9f651f5bc27cab8 3.40MB / 3.40MB                                                                                                                                                                                                                                                                       0.2s
 => => sha256:7862e08f4a3ed79ba32d02613b9c596dea827892605f23ebad6c4860ecfd1a4d 284.69kB / 284.69kB                                                                                                                                                                                                                                                                   0.6s
 => => sha256:481c3357e533d892e2621d69ce3747a459e40af2f56159bcbd64b38bee1aa5bd 1.43kB / 1.43kB                                                                                                                                                                                                                                                                       0.0s9 => => sha256:5df492c9dc93cdba9fed81e4389415b485127c9cb37c86b79b3f142702574a5a 67.01MB / 67.01MB                                                                                                                                                                                                                                                                     2.4s
 => => extracting sha256:619be1103602d98e1963557998c954c892b3872986c27365e9f651f5bc27cab8                                                                                                                                                                                                                                                                         2430.9s
 => => sha256:7629e6793208752706519ae9acfbe8b7ad6bdd634d81a69dbcfed6930884369c 175B / 175B                                                                                                                                                                                                                                                                           0.8s
 => => extracting sha256:7862e08f4a3ed79ba32d02613b9c596dea827892605f23ebad6c4860ecfd1a4d                                                                                                                                                                                                                                                                            0.1s
 => => sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B                                                                                                                                                                                                                                                                             0.7s
 => => sha256:e3317a43f465a5aebb363d397b3672606d18a5e247747ffd2684c1d0f74de0c6 4.97MB / 4.97MB                                                                                                                                                                                                                                                                       1.6s
 => => sha256:c8f015372e3250fa052df943aed69b26ce6d683b45328456139b9ab7ea453fdf 1.30MB / 1.30MB                                                                                                                                                                                                                                                                       1.5s
 => => sha256:8a6212759f5b367912c99a78b73d4277c50b224f19fe85ce2a3a9fbc94ed16be 405B / 405B                                                                                                                                                                                                                                                                           2.1s
 => => extracting sha256:5df492c9dc93cdba9fed81e4389415b485127c9cb37c86b79b3f142702574a5a                                                                                                                                                                                                                                                                            7.9s
 => => extracting sha256:7629e6793208752706519ae9acfbe8b7ad6bdd634d81a69dbcfed6930884369c                                                                                                                                                                                                                                                                            0.0s
 => => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1                                                                                                                                                                                                                                                                            0.0s
 => => extracting sha256:e3317a43f465a5aebb363d397b3672606d18a5e247747ffd2684c1d0f74de0c6                                                                                                                                                                                                                                                                            0.2s
 => => extracting sha256:c8f015372e3250fa052df943aed69b26ce6d683b45328456139b9ab7ea453fdf                                                                                                                                                                                                                                                                            0.1s
 => => extracting sha256:8a6212759f5b367912c99a78b73d4277c50b224f19fe85ce2a3a9fbc94ed16be                                                                                                                                                                                                                                                                            0.0s
 => [caddy stage-1 1/2] FROM public.ecr.aws/docker/library/caddy:alpine@sha256:95ce04978787e23e35143d23b8af2fbb6d6de55213b54a2e9ed2dbf8ffe7313c                                                                                                                                                                                                                      4.4s0 => => resolve public.ecr.aws/docker/library/caddy:alpine@sha256:95ce04978787e23e35143d23b8af2fbb6d6de55213b54a2e9ed2dbf8ffe7313c                                                                                                                                                                                                                                    0.0s
 => => sha256:95ce04978787e23e35143d23b8af2fbb6d6de55213b54a2e9ed2dbf8ffe7313c 1.43kB / 1.43kB                                                                                                                                                                                                                                                                       0.0s
 => => sha256:a6054d207060158cd0f019d6a35907bf47d1f8dacf58cdb63075a930d8ebca38 1.16kB / 1.16kB                                                                                                                                                                                                                                                                       0.0s
 => => sha256:0da4af4af9d73e970be3df873e00b8e658a7fc56ab982bfffa21d9bae68e3943 7.80kB / 7.80kB                                                                                                                                                                                                                                                                       0.0s
 => => sha256:619be1103602d98e1963557998c954c892b3872986c27365e9f651f5bc27cab8 3.40MB / 3.40MB                                                                                                                                                                                                                                                                       0.2s
 => => extracting sha256:619be1103602d98e1963557998c954c892b3872986c27365e9f651f5bc27cab8                                                                                                                                                                                                                                                                            0.2s
 => => sha256:a167b92bd92ca649523209f279d023d90edd2658f2dbbd5a79cd991b707a1bf4 350.84kB / 350.84kB                                                                                                                                                                                                                                                                   1.7s
 => => sha256:aaa65d2923419d52c79891c5c107216c8efc7534f740cafcddcb57fcd915fd61 7.53kB / 7.53kB                                                                                                                                                                                                                                                                       1.9s
 => => extracting sha256:a167b92bd92ca649523209f279d023d90edd2658f2dbbd5a79cd991b707a1bf4                                                                                                                                                                                                                                                                            0.4s
 => => sha256:832dc3f423aedf5c58d59571f7e5eebd543b4c31f0a0bacc36b509313473765e 14.71MB / 14.71MB                                                                                                                                                                                                                                                                     2.5s
 => => extracting sha256:aaa65d2923419d52c79891c5c107216c8efc7534f740cafcddcb57fcd915fd61                                                                                                                                                                                                                                                                            0.0s
 => => extracting sha256:832dc3f423aedf5c58d59571f7e5eebd543b4c31f0a0bacc36b509313473765e                                                                                                                                                                                                                                                                            1.6s
 => [caddy builder 2/2] RUN caddy-builder github.com/caddy-dns/cloudflare                                                                                                                                                                                                                                                                                         2443.3s
 => => # go: downloading github.com/google/s2a-go v0.1.7
 => => # go: downloading github.com/OneOfOne/xxhash v1.2.2
 => => # go: downloading github.com/spaolacci/murmur3 v1.1.0
 => => # go: downloading github.com/googleapis/enterprise-certificate-proxy v0.2.5
 => => # go: downloading github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
 => => # 2024/04/30 11:17:55 [INFO] exec (timeout=0s): /usr/local/go/bin/go build -o /usr/bin/caddy -ldflags -w -s -trimpath

Found this different docker file:

FROM caddy:2.7.6-builder AS builder
RUN xcaddy build --with github.com/caddy-dns/cloudflare

FROM caddy:2.7.6-alpine
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

Hangs here:

root@debian-s-1vcpu-512mb-10gb-fra1-01:~/infrastructure# docker compose up -d caddy
[+] Building 2532.7s (6/8)                                                                                                                                                                                                                                                                                                                                 docker:default
 => [caddy internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                           0.1s
 => => transferring dockerfile: 266B                                                                                                                                                                                                                                                                                                                                 0.0s
 => [caddy internal] load .dockerignore                                                                                                                                                                                                                                                                                                                              0.0s
^C => => transferring context: 2B                                                                                                                                                                                                                                                                                                                                      0.0s=> [caddy internal] load metadata for public.ecr.aws/docker/library/caddy:2.7.6-alpine                                                                                                                                                                                                                                                                              1.2s
 => [caddy internal] load metadata for public.ecr.aws/docker/library/caddy:2.7.6-builder                                                                                                                                                                                                                                                                             1.4s
 => CACHED [caddy builder 1/2] FROM public.ecr.aws/docker/library/caddy:2.7.6-builder@sha256:d8a2ad006009b25b7017ab7190128cdd3a0fccee518f5b14fe6c749c6a6293b8                                                                                                                                                                                                        0.0s
 => => resolve public.ecr.aws/docker/library/caddy:2.7.6-builder@sha256:d8a2ad006009b25b7017ab7190128cdd3a0fccee518f5b14fe6c749c6a6293b8                                                                                                                                                                                                                             0.0s
 => CACHED [caddy stage-1 1/2] FROM public.ecr.aws/docker/library/caddy:2.7.6-alpine@sha256:95ce04978787e23e35143d23b8af2fbb6d6de55213b54a2e9ed2dbf8ffe7313c                                                                                                                                                                                                         0.0s
 => [caddy builder 2/2] RUN xcaddy build --with github.com/caddy-dns/cloudflare                                                                                                                                                                                                                                                                                   2489.9s
 => => # go: downloading github.com/google/s2a-go v0.1.7
 => => # go: downloading github.com/OneOfOne/xxhash v1.2.2
 => => # go: downloading github.com/spaolacci/murmur3 v1.1.0
 => => # go: downloading github.com/googleapis/enterprise-certificate-proxy v0.2.5
 => => # go: downloading github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
 => => # 2024/04/30 12:01:03 [INFO] exec (timeout=0s): /usr/local/go/bin/go build -o /usr/bin/caddy -ldflags -w -s -trimpath

Im running a fresh Debian box, am i missing a dependency? Running docker build . on OSX works fine for me with both Dockerfiles. Thanks.

francislavoie commented 2 months ago

You definitely should be using the 2nd Dockerfile, the first is outdated.

Just seems like you have a very resource constrained machine. There's no error here.

Try using a higher-spec machine, or build the image elsewhere and push it to some Docker registry (Docker Hub, Quay, Github's container registry) and pull it to your server from there.