...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package main
16
17 import (
18 "flag"
19 "fmt"
20 "log"
21 "net"
22 "net/http"
23 "time"
24
25 "github.com/google/go-containerregistry/pkg/registry"
26 )
27
28 var port = flag.Int("port", 1338, "port to run registry on")
29
30 func main() {
31 flag.Parse()
32
33 listener, err := net.Listen("tcp", fmt.Sprintf("localhost:%d", *port))
34 if err != nil {
35 log.Fatal(err)
36 }
37 porti := listener.Addr().(*net.TCPAddr).Port
38 log.Printf("serving on port %d", porti)
39 s := &http.Server{
40 ReadHeaderTimeout: 5 * time.Second,
41 Handler: registry.New(
42 registry.WithWarning(.01, "Congratulations! You've won a lifetime's supply of free image pulls from this in-memory registry!"),
43 ),
44 }
45 log.Fatal(s.Serve(listener))
46 }
47
View as plain text