abiosoft / caddy-docker

Docker container for Caddy
https://hub.docker.com/r/abiosoft/caddy/
MIT License
768 stars 315 forks source link

Docker build is failing - undefined: tls.VersionTLS13 #172

Closed milewski closed 5 years ago

milewski commented 5 years ago

Command:

version: "3.7"

services:
  caddy:
    build:
      context: github.com/abiosoft/caddy-docker.git
      args:
        plugins: git

Here is the full log

Building caddy
Step 1/22 : FROM abiosoft/caddy:builder as builder
 ---> 9cbfda20af8a
Step 2/22 : ARG version="0.11.5"
 ---> Using cache
 ---> 891218b1db0a
Step 3/22 : ARG plugins="git,filebrowser,cors,realip,expires,cache"
 ---> Using cache
 ---> 035c26c22573
Step 4/22 : RUN go get -v github.com/abiosoft/parent
 ---> Using cache
 ---> b3b14adbe41f
Step 5/22 : RUN VERSION=${version} PLUGINS=${plugins} /bin/sh /usr/bin/builder.sh
 ---> Running in 9c154344f8c9
Cloning into '/go/src/github.com/mholt/caddy'...
Note: checking out '80dfb8b2a7f89b120a627bc4d866a1dc5ed3d92f'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

Switched to a new branch 'v0.11.5'
github.com/abiosoft/caddyplug (download)
github.com/abiosoft/errs (download)
github.com/fatih/color (download)
Fetching https://golang.org/x/sys/unix?go-get=1
Parsing meta tags from https://golang.org/x/sys/unix?go-get=1 (status code 200)
get "golang.org/x/sys/unix": found meta tag get.metaImport{Prefix:"golang.org/x/sys", VCS:"git", RepoRoot:"https://go.googlesource.com/sys"} at https://golang.org/x/sys/unix?go-get=1
get "golang.org/x/sys/unix": verifying non-authoritative meta tag
Fetching https://golang.org/x/sys?go-get=1
Parsing meta tags from https://golang.org/x/sys?go-get=1 (status code 200)
golang.org/x/sys (download)
github.com/abiosoft/errs
github.com/fatih/color/vendor/github.com/mattn/go-isatty
github.com/abiosoft/caddyplug/internal
golang.org/x/sys/unix
github.com/fatih/color/vendor/github.com/mattn/go-colorable
github.com/fatih/color
github.com/abiosoft/caddyplug/caddyplug
fetching missing dependencies: caddy, dnsproviders, hook.pluginloader
github.com/mholt/caddy/vendor/github.com/flynn/go-shlex
github.com/mholt/caddy/vendor/github.com/google/uuid
github.com/mholt/caddy/telemetry
github.com/mholt/caddy/caddyfile
github.com/mholt/caddy
Cloning into '/root/lib/caddy/gopath/src/github.com/caddyserver/dnsproviders'...
github.com/abiosoft/caddyplug (download)
github.com/abiosoft/caddyplug/internal
github.com/abiosoft/caddyplug
done fetching depedencies.

github.com/abiosoft/caddy-git (download)
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/golang.org/x/crypto/curve25519
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/golang.org/x/crypto/hkdf
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/github.com/cheekybits/genny/generic
github.com/abiosoft/caddy-git/gitos
github.com/mholt/caddy/vendor/github.com/flynn/go-shlex
github.com/mholt/caddy/vendor/github.com/google/uuid
github.com/mholt/caddy/vendor/github.com/hashicorp/go-syslog
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/github.com/bifurcation/mint/syntax
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/protocol
github.com/mholt/caddy/telemetry
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/github.com/hashicorp/golang-lru/simplelru
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/utils
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/github.com/hashicorp/golang-lru
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/github.com/bifurcation/mint
github.com/mholt/caddy/caddyfile
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/github.com/lucas-clemente/aes12
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/congestion
github.com/mholt/caddy
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/vendor/github.com/lucas-clemente/quic-go-certificates
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/qerr
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/flowcontrol
github.com/mholt/caddy/vendor/golang.org/x/text/transform
github.com/mholt/caddy/vendor/golang.org/x/text/unicode/bidi
github.com/mholt/caddy/vendor/golang.org/x/net/http2/hpack
github.com/mholt/caddy/vendor/golang.org/x/text/unicode/norm
github.com/mholt/caddy/vendor/golang.org/x/text/secure/bidirule
github.com/mholt/caddy/caddyhttp/staticfiles
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/crypto
github.com/mholt/caddy/vendor/github.com/klauspost/cpuid
github.com/mholt/caddy/vendor/github.com/xenolf/lego/acme
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/crypto/ocsp
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/handshake
github.com/mholt/caddy/vendor/github.com/cenkalti/backoff
github.com/mholt/caddy/vendor/github.com/xenolf/lego/certcrypto
github.com/mholt/caddy/vendor/golang.org/x/net/idna
github.com/mholt/caddy/vendor/github.com/xenolf/lego/acme/api/internal/sender
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/crypto/ed25519/internal/edwards25519
github.com/mholt/caddy/vendor/github.com/xenolf/lego/acme/api/internal/nonces
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/crypto/pbkdf2
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/wire
github.com/mholt/caddy/vendor/golang.org/x/net/http/httpguts
github.com/mholt/caddy/vendor/golang.org/x/net/lex/httplex
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/gopkg.in/square/go-jose.v2/cipher
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/crypto/ed25519
github.com/mholt/caddy/vendor/golang.org/x/net/http2
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/gopkg.in/square/go-jose.v2/json
github.com/mholt/caddy/vendor/github.com/xenolf/lego/log
github.com/mholt/caddy/vendor/github.com/xenolf/lego/challenge
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/internal/ackhandler
github.com/mholt/caddy/vendor/github.com/xenolf/lego/platform/wait
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/text/transform
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/text/unicode/bidi
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/gopkg.in/square/go-jose.v2
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/text/secure/bidirule
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/text/unicode/norm
github.com/mholt/caddy/vendor/github.com/xenolf/lego/acme/api/internal/secure
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/net/bpf
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/net/idna
github.com/mholt/caddy/vendor/github.com/xenolf/lego/acme/api
github.com/mholt/caddy/vendor/github.com/lucas-clemente/quic-go/h2quic
github.com/mholt/caddy/vendor/github.com/xenolf/lego/challenge/http01
github.com/mholt/caddy/vendor/github.com/xenolf/lego/challenge/tlsalpn01
github.com/mholt/caddy/vendor/github.com/xenolf/lego/certificate
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/net/internal/iana
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/net/internal/socket
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/sys/unix
github.com/mholt/caddy/vendor/github.com/xenolf/lego/registration
github.com/mholt/caddy/vendor/golang.org/x/crypto/ocsp
github.com/mholt/caddy/vendor/github.com/russross/blackfriday
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/net/ipv4
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/golang.org/x/net/ipv6
github.com/mholt/caddy/vendor/gopkg.in/natefinch/lumberjack.v2
github.com/mholt/caddy/vendor/github.com/xenolf/lego/vendor/github.com/miekg/dns
github.com/mholt/caddy/vendor/github.com/xenolf/lego/challenge/dns01
github.com/mholt/caddy/vendor/github.com/xenolf/lego/challenge/resolver
github.com/mholt/caddy/vendor/github.com/xenolf/lego/lego
github.com/mholt/caddy/vendor/github.com/mholt/certmagic
github.com/mholt/caddy/caddytls
# github.com/mholt/caddy/caddytls
caddytls/config.go:410:31: undefined: tls.VersionTLS13
caddytls/config.go:433:12: undefined: tls.VersionTLS13
Cloning into '/go/src/github.com/caddyserver/builds'...
# github.com/mholt/caddy/caddytls
../caddytls/config.go:410:31: undefined: tls.VersionTLS13
../caddytls/config.go:433:12: undefined: tls.VersionTLS13
2019/03/13 09:54:45 exit status 2
exit status 1
ERROR: Service 'caddy' failed to build: The command '/bin/sh -c VERSION=${version} PLUGINS=${plugins} /bin/sh /usr/bin/builder.sh' returned a non-zero code: 1
alexeyshockov commented 5 years ago

You probably have an old abiosoft/caddy:builder image. Try to update it to the latest version with

docker pull abiosoft/caddy:builder

The error itself is caused by an old Go version and described in mholt/caddy#2492, BTW.

milewski commented 5 years ago

I tried that in a fresh new server, however same problem on my local machine:

Rafaels-iMac: milewski$ docker pull abiosoft/caddy:builder
builder: Pulling from abiosoft/caddy
Digest: sha256:11ffbb2efab1b284f5d771e66a15f2bd3ba6193446be0ad688e0e6446d894338
Status: Image is up to date for abiosoft/caddy:builder

Rafaels-iMac: milewski$ docker run --rm abiosoft/caddy:builder go version
go version go1.11.5 linux/amd64

Perhaps the published image to docker hub is out of date?

abiosoft commented 5 years ago

I am not able to reproduce this. This means you likely have an older version cached. Try removing the image with docker rmi -f abiosoft/caddy:builder and then try again.

milewski commented 5 years ago

I think the reason is that im using the official docker china mirror: https://www.docker-cn.com/registry-mirror and it seems to be out of sync with hub.docker.com, switching to the default repository it works!...