mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-29 05:35:43 +01:00
Merge pull request #1249 from yhua123/dev-update-registry
update registry from 2.5.0 to 2.5.1
This commit is contained in:
commit
111638ae8e
6
Makefile
6
Makefile
@ -267,7 +267,7 @@ package_offline: compile build modify_composefile
|
||||
@cp NOTICE $(HARBORPKG)/NOTICE
|
||||
|
||||
@echo "pulling nginx and registry..."
|
||||
@$(DOCKERPULL) registry:2.5.0
|
||||
@$(DOCKERPULL) registry:2.5.1
|
||||
@$(DOCKERPULL) nginx:1.11.5
|
||||
|
||||
@echo "saving harbor docker image"
|
||||
@ -276,7 +276,7 @@ package_offline: compile build modify_composefile
|
||||
$(DOCKERIMAGENAME_LOG):$(VERSIONTAG) \
|
||||
$(DOCKERIMAGENAME_DB):$(VERSIONTAG) \
|
||||
$(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG) \
|
||||
nginx:1.11.5 registry:2.5.0 photon:1.0
|
||||
nginx:1.11.5 registry:2.5.1 photon:1.0
|
||||
|
||||
@$(TARCMD) -zcvf harbor-offline-installer-$(VERSIONTAG).tgz \
|
||||
--exclude=$(HARBORPKG)/common/db --exclude=$(HARBORPKG)/common/config\
|
||||
@ -334,7 +334,7 @@ cleanimage:
|
||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_DB):$(VERSIONTAG)
|
||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG)
|
||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_LOG):$(VERSIONTAG)
|
||||
# - $(DOCKERRMIMAGE) -f registry:2.5.0
|
||||
# - $(DOCKERRMIMAGE) -f registry:2.5.1
|
||||
# - $(DOCKERRMIMAGE) -f nginx:1.11.5
|
||||
|
||||
cleandockercomposefile:
|
||||
|
@ -191,14 +191,14 @@ Run the below commands on the host which Harbor is deployed on to preview what f
|
||||
|
||||
```sh
|
||||
$ docker-compose stop
|
||||
$ docker run -it --name gc --rm --volumes-from registry registry:2.5.0 garbage-collect --dry-run /etc/registry/config.yml
|
||||
$ docker run -it --name gc --rm --volumes-from registry registry:2.5.1 garbage-collect --dry-run /etc/registry/config.yml
|
||||
```
|
||||
**NOTE:** The above option "--dry-run" will print the progress without removing any data.
|
||||
|
||||
Verify the result of the above test, then use the below commands to perform garbage collection and restart Harbor.
|
||||
|
||||
```sh
|
||||
$ docker run -it --name gc --rm --volumes-from registry registry:2.5.0 garbage-collect /etc/registry/config.yml
|
||||
$ docker run -it --name gc --rm --volumes-from registry registry:2.5.1 garbage-collect /etc/registry/config.yml
|
||||
$ docker-compose start
|
||||
```
|
||||
|
||||
|
@ -10,7 +10,7 @@ services:
|
||||
ports:
|
||||
- 1514:514
|
||||
registry:
|
||||
image: library/registry:2.5.0
|
||||
image: library/registry:2.5.1
|
||||
restart: always
|
||||
volumes:
|
||||
- /data/registry:/storage
|
||||
|
@ -9,7 +9,7 @@ services:
|
||||
ports:
|
||||
- 1514:514
|
||||
registry:
|
||||
image: library/registry:2.5.0
|
||||
image: library/registry:2.5.1
|
||||
container_name: registry
|
||||
restart: always
|
||||
volumes:
|
||||
|
3
src/vendor/github.com/docker/distribution/manifest/schema2/builder.go
generated
vendored
3
src/vendor/github.com/docker/distribution/manifest/schema2/builder.go
generated
vendored
@ -46,9 +46,6 @@ func (mb *builder) Build(ctx context.Context) (distribution.Manifest, error) {
|
||||
m.Config, err = mb.bs.Stat(ctx, configDigest)
|
||||
switch err {
|
||||
case nil:
|
||||
// Override MediaType, since Put always replaces the specified media
|
||||
// type with application/octet-stream in the descriptor it returns.
|
||||
m.Config.MediaType = MediaTypeConfig
|
||||
return FromStruct(m)
|
||||
case distribution.ErrBlobUnknown:
|
||||
// nop
|
||||
|
2
src/vendor/github.com/docker/distribution/registry/api/errcode/register.go
generated
vendored
2
src/vendor/github.com/docker/distribution/registry/api/errcode/register.go
generated
vendored
@ -55,7 +55,7 @@ var (
|
||||
HTTPStatusCode: http.StatusForbidden,
|
||||
})
|
||||
|
||||
// ErrorCodeUnavailable provides a common error to report unavailability
|
||||
// ErrorCodeUnavailable provides a common error to report unavialability
|
||||
// of a service or endpoint.
|
||||
ErrorCodeUnavailable = Register("errcode", ErrorDescriptor{
|
||||
Value: "UNAVAILABLE",
|
||||
|
49
src/vendor/github.com/docker/distribution/registry/api/v2/descriptors.go
generated
vendored
49
src/vendor/github.com/docker/distribution/registry/api/v2/descriptors.go
generated
vendored
@ -175,27 +175,6 @@ var (
|
||||
errcode.ErrorCodeDenied,
|
||||
},
|
||||
}
|
||||
|
||||
tooManyRequestsDescriptor = ResponseDescriptor{
|
||||
Name: "Too Many Requests",
|
||||
StatusCode: http.StatusTooManyRequests,
|
||||
Description: "The client made too many requests within a time interval.",
|
||||
Headers: []ParameterDescriptor{
|
||||
{
|
||||
Name: "Content-Length",
|
||||
Type: "integer",
|
||||
Description: "Length of the JSON response body.",
|
||||
Format: "<length>",
|
||||
},
|
||||
},
|
||||
Body: BodyDescriptor{
|
||||
ContentType: "application/json; charset=utf-8",
|
||||
Format: errorsBody,
|
||||
},
|
||||
ErrorCodes: []errcode.ErrorCode{
|
||||
errcode.ErrorCodeTooManyRequests,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
const (
|
||||
@ -223,6 +202,17 @@ const (
|
||||
...
|
||||
]
|
||||
}`
|
||||
|
||||
unauthorizedErrorsBody = `{
|
||||
"errors:" [
|
||||
{
|
||||
"code": "UNAUTHORIZED",
|
||||
"message": "access to the requested resource is not authorized",
|
||||
"detail": ...
|
||||
},
|
||||
...
|
||||
]
|
||||
}`
|
||||
)
|
||||
|
||||
// APIDescriptor exports descriptions of the layout of the v2 registry API.
|
||||
@ -401,7 +391,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
StatusCode: http.StatusNotFound,
|
||||
},
|
||||
unauthorizedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -456,7 +445,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -493,7 +481,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -548,7 +535,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -606,7 +592,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
{
|
||||
Name: "Missing Layer(s)",
|
||||
Description: "One or more layers may be missing during a manifest upload. If so, the missing layers will be enumerated in the error response.",
|
||||
@ -676,7 +661,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
{
|
||||
Name: "Unknown Manifest",
|
||||
Description: "The specified `name` or `reference` are unknown to the registry and the delete was unable to proceed. Clients can assume the manifest was already deleted if this response is returned.",
|
||||
@ -785,7 +769,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -860,7 +843,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -927,7 +909,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -1012,7 +993,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -1059,7 +1039,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -1124,7 +1103,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -1197,7 +1175,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -1272,7 +1249,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -1358,7 +1334,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -1449,7 +1424,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -1506,7 +1480,6 @@ var routeDescriptors = []RouteDescriptor{
|
||||
unauthorizedResponseDescriptor,
|
||||
repositoryNotFoundResponseDescriptor,
|
||||
deniedResponseDescriptor,
|
||||
tooManyRequestsDescriptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
10
src/vendor/github.com/docker/distribution/registry/client/repository.go
generated
vendored
10
src/vendor/github.com/docker/distribution/registry/client/repository.go
generated
vendored
@ -10,7 +10,6 @@ import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/docker/distribution"
|
||||
@ -214,7 +213,6 @@ func (t *tags) All(ctx context.Context) ([]string, error) {
|
||||
return tags, err
|
||||
}
|
||||
|
||||
for {
|
||||
resp, err := t.client.Get(u)
|
||||
if err != nil {
|
||||
return tags, err
|
||||
@ -233,17 +231,11 @@ func (t *tags) All(ctx context.Context) ([]string, error) {
|
||||
if err := json.Unmarshal(b, &tagsResponse); err != nil {
|
||||
return tags, err
|
||||
}
|
||||
tags = append(tags, tagsResponse.Tags...)
|
||||
if link := resp.Header.Get("Link"); link != "" {
|
||||
u = strings.Trim(strings.Split(link, ";")[0], "<>")
|
||||
} else {
|
||||
tags = tagsResponse.Tags
|
||||
return tags, nil
|
||||
}
|
||||
} else {
|
||||
return tags, HandleErrorResponse(resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func descriptorFromResponse(response *http.Response) (distribution.Descriptor, error) {
|
||||
desc := distribution.Descriptor{}
|
||||
|
146
src/vendor/vendor.json
vendored
146
src/vendor/vendor.json
vendored
@ -135,138 +135,138 @@
|
||||
{
|
||||
"checksumSHA1": "dyW7eJt0inBkevS8lV0eb0Pm6MA=",
|
||||
"path": "github.com/docker/distribution",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "qyi/ywyMfrOzLHOFUmfptEgicyQ=",
|
||||
"path": "github.com/docker/distribution/context",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "f1wARLDzsF/JoyN01yoxXEwFIp8=",
|
||||
"path": "github.com/docker/distribution/digest",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "9ymKULEPvYfNX+PCqIZfq5CMP/c=",
|
||||
"path": "github.com/docker/distribution/manifest",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "XFMuuUrVW18yXJr0Br+RNh6lpf8=",
|
||||
"path": "github.com/docker/distribution/manifest/schema1",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "CYiLSnQezNFsLxxrnVzLBqvwD5U=",
|
||||
"checksumSHA1": "ZuTHl2f1hNYKoBnQXFXxYtwXg6Y=",
|
||||
"path": "github.com/docker/distribution/manifest/schema2",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "PzXRTLmmqWXxmDqdIXLcRYBma18=",
|
||||
"path": "github.com/docker/distribution/reference",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "ClxxEM8HAe3DrneFwpUoIgoW+XA=",
|
||||
"checksumSHA1": "gVQRg7cbsvj1rhXm3LrbaoaDKbA=",
|
||||
"path": "github.com/docker/distribution/registry/api/errcode",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "nHJXXHgsdUVnkuR0SA2DUJgSLgQ=",
|
||||
"checksumSHA1": "8eDeP6DuTNsskvENoAyICs/QyN0=",
|
||||
"path": "github.com/docker/distribution/registry/api/v2",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "Ew29UsY4X4DuSd/DRz3MoMsocvs=",
|
||||
"path": "github.com/docker/distribution/registry/auth",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "k/JJaY5xB9e/fMDg14wFQQbRYe0=",
|
||||
"path": "github.com/docker/distribution/registry/auth/token",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "oV+QvpZYx+LFW4fDbQNJeskjJmU=",
|
||||
"checksumSHA1": "kUKO43CFnGqE5o3jwfijuIk/XQQ=",
|
||||
"path": "github.com/docker/distribution/registry/client",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "sENYoE05tfuTC38SKYC+lKCDI1s=",
|
||||
"path": "github.com/docker/distribution/registry/client/auth",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "VDfI80dOZWOJU7+neHqv2uT5Th8=",
|
||||
"path": "github.com/docker/distribution/registry/client/transport",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "OfCHyYvzswfb+mAswNnEJmiQSq4=",
|
||||
"path": "github.com/docker/distribution/registry/storage/cache",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "Uly2iPDPUbNtilosM7ERs1ZrcAY=",
|
||||
"path": "github.com/docker/distribution/registry/storage/cache/memory",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "cNp7rNReJHvdSfrIetXS9RGsLSo=",
|
||||
"path": "github.com/docker/distribution/uuid",
|
||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
||||
"revisionTime": "2016-07-12T18:18:54Z",
|
||||
"version": "v2.5.0",
|
||||
"versionExact": "v2.5.0"
|
||||
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||
"revisionTime": "2016-08-06T00:21:48Z",
|
||||
"version": "v2.5.1",
|
||||
"versionExact": "v2.5.1"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "sNAU9ojYVUhO6dVXey6T3JhRQpw=",
|
||||
@ -323,5 +323,5 @@
|
||||
"revision": ""
|
||||
}
|
||||
],
|
||||
"rootPath": "github.com/vmware/harbor"
|
||||
"rootPath": "github.com/vmware/harbor/src"
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
version: '2'
|
||||
services:
|
||||
registry:
|
||||
image: library/registry:2.5.0
|
||||
image: library/registry:2.5.1
|
||||
restart: always
|
||||
volumes:
|
||||
- /data/registry:/storage
|
||||
|
Loading…
Reference in New Issue
Block a user