mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-25 19:56:09 +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
|
@cp NOTICE $(HARBORPKG)/NOTICE
|
||||||
|
|
||||||
@echo "pulling nginx and registry..."
|
@echo "pulling nginx and registry..."
|
||||||
@$(DOCKERPULL) registry:2.5.0
|
@$(DOCKERPULL) registry:2.5.1
|
||||||
@$(DOCKERPULL) nginx:1.11.5
|
@$(DOCKERPULL) nginx:1.11.5
|
||||||
|
|
||||||
@echo "saving harbor docker image"
|
@echo "saving harbor docker image"
|
||||||
@ -276,7 +276,7 @@ package_offline: compile build modify_composefile
|
|||||||
$(DOCKERIMAGENAME_LOG):$(VERSIONTAG) \
|
$(DOCKERIMAGENAME_LOG):$(VERSIONTAG) \
|
||||||
$(DOCKERIMAGENAME_DB):$(VERSIONTAG) \
|
$(DOCKERIMAGENAME_DB):$(VERSIONTAG) \
|
||||||
$(DOCKERIMAGENAME_JOBSERVICE):$(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 \
|
@$(TARCMD) -zcvf harbor-offline-installer-$(VERSIONTAG).tgz \
|
||||||
--exclude=$(HARBORPKG)/common/db --exclude=$(HARBORPKG)/common/config\
|
--exclude=$(HARBORPKG)/common/db --exclude=$(HARBORPKG)/common/config\
|
||||||
@ -334,7 +334,7 @@ cleanimage:
|
|||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_DB):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_DB):$(VERSIONTAG)
|
||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG)
|
||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_LOG):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_LOG):$(VERSIONTAG)
|
||||||
# - $(DOCKERRMIMAGE) -f registry:2.5.0
|
# - $(DOCKERRMIMAGE) -f registry:2.5.1
|
||||||
# - $(DOCKERRMIMAGE) -f nginx:1.11.5
|
# - $(DOCKERRMIMAGE) -f nginx:1.11.5
|
||||||
|
|
||||||
cleandockercomposefile:
|
cleandockercomposefile:
|
||||||
|
@ -191,14 +191,14 @@ Run the below commands on the host which Harbor is deployed on to preview what f
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ docker-compose stop
|
$ 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.
|
**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.
|
Verify the result of the above test, then use the below commands to perform garbage collection and restart Harbor.
|
||||||
|
|
||||||
```sh
|
```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
|
$ docker-compose start
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 1514:514
|
- 1514:514
|
||||||
registry:
|
registry:
|
||||||
image: library/registry:2.5.0
|
image: library/registry:2.5.1
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- /data/registry:/storage
|
- /data/registry:/storage
|
||||||
|
@ -9,7 +9,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 1514:514
|
- 1514:514
|
||||||
registry:
|
registry:
|
||||||
image: library/registry:2.5.0
|
image: library/registry:2.5.1
|
||||||
container_name: registry
|
container_name: registry
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
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)
|
m.Config, err = mb.bs.Stat(ctx, configDigest)
|
||||||
switch err {
|
switch err {
|
||||||
case nil:
|
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)
|
return FromStruct(m)
|
||||||
case distribution.ErrBlobUnknown:
|
case distribution.ErrBlobUnknown:
|
||||||
// nop
|
// 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,
|
HTTPStatusCode: http.StatusForbidden,
|
||||||
})
|
})
|
||||||
|
|
||||||
// ErrorCodeUnavailable provides a common error to report unavailability
|
// ErrorCodeUnavailable provides a common error to report unavialability
|
||||||
// of a service or endpoint.
|
// of a service or endpoint.
|
||||||
ErrorCodeUnavailable = Register("errcode", ErrorDescriptor{
|
ErrorCodeUnavailable = Register("errcode", ErrorDescriptor{
|
||||||
Value: "UNAVAILABLE",
|
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,
|
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 (
|
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.
|
// APIDescriptor exports descriptions of the layout of the v2 registry API.
|
||||||
@ -401,7 +391,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
StatusCode: http.StatusNotFound,
|
StatusCode: http.StatusNotFound,
|
||||||
},
|
},
|
||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -456,7 +445,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -493,7 +481,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -548,7 +535,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -606,7 +592,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
{
|
{
|
||||||
Name: "Missing Layer(s)",
|
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.",
|
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,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
{
|
{
|
||||||
Name: "Unknown Manifest",
|
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.",
|
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,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -860,7 +843,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -927,7 +909,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1012,7 +993,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1059,7 +1039,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1124,7 +1103,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1197,7 +1175,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1272,7 +1249,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1358,7 +1334,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1449,7 +1424,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -1506,7 +1480,6 @@ var routeDescriptors = []RouteDescriptor{
|
|||||||
unauthorizedResponseDescriptor,
|
unauthorizedResponseDescriptor,
|
||||||
repositoryNotFoundResponseDescriptor,
|
repositoryNotFoundResponseDescriptor,
|
||||||
deniedResponseDescriptor,
|
deniedResponseDescriptor,
|
||||||
tooManyRequestsDescriptor,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
40
src/vendor/github.com/docker/distribution/registry/client/repository.go
generated
vendored
40
src/vendor/github.com/docker/distribution/registry/client/repository.go
generated
vendored
@ -10,7 +10,6 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/docker/distribution"
|
"github.com/docker/distribution"
|
||||||
@ -214,35 +213,28 @@ func (t *tags) All(ctx context.Context) ([]string, error) {
|
|||||||
return tags, err
|
return tags, err
|
||||||
}
|
}
|
||||||
|
|
||||||
for {
|
resp, err := t.client.Get(u)
|
||||||
resp, err := t.client.Get(u)
|
if err != nil {
|
||||||
|
return tags, err
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if SuccessStatus(resp.StatusCode) {
|
||||||
|
b, err := ioutil.ReadAll(resp.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return tags, err
|
return tags, err
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
if SuccessStatus(resp.StatusCode) {
|
tagsResponse := struct {
|
||||||
b, err := ioutil.ReadAll(resp.Body)
|
Tags []string `json:"tags"`
|
||||||
if err != nil {
|
}{}
|
||||||
return tags, err
|
if err := json.Unmarshal(b, &tagsResponse); err != nil {
|
||||||
}
|
return tags, err
|
||||||
|
|
||||||
tagsResponse := struct {
|
|
||||||
Tags []string `json:"tags"`
|
|
||||||
}{}
|
|
||||||
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 {
|
|
||||||
return tags, nil
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return tags, HandleErrorResponse(resp)
|
|
||||||
}
|
}
|
||||||
|
tags = tagsResponse.Tags
|
||||||
|
return tags, nil
|
||||||
}
|
}
|
||||||
|
return tags, HandleErrorResponse(resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
func descriptorFromResponse(response *http.Response) (distribution.Descriptor, error) {
|
func descriptorFromResponse(response *http.Response) (distribution.Descriptor, error) {
|
||||||
|
146
src/vendor/vendor.json
vendored
146
src/vendor/vendor.json
vendored
@ -135,138 +135,138 @@
|
|||||||
{
|
{
|
||||||
"checksumSHA1": "dyW7eJt0inBkevS8lV0eb0Pm6MA=",
|
"checksumSHA1": "dyW7eJt0inBkevS8lV0eb0Pm6MA=",
|
||||||
"path": "github.com/docker/distribution",
|
"path": "github.com/docker/distribution",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "qyi/ywyMfrOzLHOFUmfptEgicyQ=",
|
"checksumSHA1": "qyi/ywyMfrOzLHOFUmfptEgicyQ=",
|
||||||
"path": "github.com/docker/distribution/context",
|
"path": "github.com/docker/distribution/context",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "f1wARLDzsF/JoyN01yoxXEwFIp8=",
|
"checksumSHA1": "f1wARLDzsF/JoyN01yoxXEwFIp8=",
|
||||||
"path": "github.com/docker/distribution/digest",
|
"path": "github.com/docker/distribution/digest",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "9ymKULEPvYfNX+PCqIZfq5CMP/c=",
|
"checksumSHA1": "9ymKULEPvYfNX+PCqIZfq5CMP/c=",
|
||||||
"path": "github.com/docker/distribution/manifest",
|
"path": "github.com/docker/distribution/manifest",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "XFMuuUrVW18yXJr0Br+RNh6lpf8=",
|
"checksumSHA1": "XFMuuUrVW18yXJr0Br+RNh6lpf8=",
|
||||||
"path": "github.com/docker/distribution/manifest/schema1",
|
"path": "github.com/docker/distribution/manifest/schema1",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "CYiLSnQezNFsLxxrnVzLBqvwD5U=",
|
"checksumSHA1": "ZuTHl2f1hNYKoBnQXFXxYtwXg6Y=",
|
||||||
"path": "github.com/docker/distribution/manifest/schema2",
|
"path": "github.com/docker/distribution/manifest/schema2",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "PzXRTLmmqWXxmDqdIXLcRYBma18=",
|
"checksumSHA1": "PzXRTLmmqWXxmDqdIXLcRYBma18=",
|
||||||
"path": "github.com/docker/distribution/reference",
|
"path": "github.com/docker/distribution/reference",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "ClxxEM8HAe3DrneFwpUoIgoW+XA=",
|
"checksumSHA1": "gVQRg7cbsvj1rhXm3LrbaoaDKbA=",
|
||||||
"path": "github.com/docker/distribution/registry/api/errcode",
|
"path": "github.com/docker/distribution/registry/api/errcode",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "nHJXXHgsdUVnkuR0SA2DUJgSLgQ=",
|
"checksumSHA1": "8eDeP6DuTNsskvENoAyICs/QyN0=",
|
||||||
"path": "github.com/docker/distribution/registry/api/v2",
|
"path": "github.com/docker/distribution/registry/api/v2",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "Ew29UsY4X4DuSd/DRz3MoMsocvs=",
|
"checksumSHA1": "Ew29UsY4X4DuSd/DRz3MoMsocvs=",
|
||||||
"path": "github.com/docker/distribution/registry/auth",
|
"path": "github.com/docker/distribution/registry/auth",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "k/JJaY5xB9e/fMDg14wFQQbRYe0=",
|
"checksumSHA1": "k/JJaY5xB9e/fMDg14wFQQbRYe0=",
|
||||||
"path": "github.com/docker/distribution/registry/auth/token",
|
"path": "github.com/docker/distribution/registry/auth/token",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "oV+QvpZYx+LFW4fDbQNJeskjJmU=",
|
"checksumSHA1": "kUKO43CFnGqE5o3jwfijuIk/XQQ=",
|
||||||
"path": "github.com/docker/distribution/registry/client",
|
"path": "github.com/docker/distribution/registry/client",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "sENYoE05tfuTC38SKYC+lKCDI1s=",
|
"checksumSHA1": "sENYoE05tfuTC38SKYC+lKCDI1s=",
|
||||||
"path": "github.com/docker/distribution/registry/client/auth",
|
"path": "github.com/docker/distribution/registry/client/auth",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "VDfI80dOZWOJU7+neHqv2uT5Th8=",
|
"checksumSHA1": "VDfI80dOZWOJU7+neHqv2uT5Th8=",
|
||||||
"path": "github.com/docker/distribution/registry/client/transport",
|
"path": "github.com/docker/distribution/registry/client/transport",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "OfCHyYvzswfb+mAswNnEJmiQSq4=",
|
"checksumSHA1": "OfCHyYvzswfb+mAswNnEJmiQSq4=",
|
||||||
"path": "github.com/docker/distribution/registry/storage/cache",
|
"path": "github.com/docker/distribution/registry/storage/cache",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "Uly2iPDPUbNtilosM7ERs1ZrcAY=",
|
"checksumSHA1": "Uly2iPDPUbNtilosM7ERs1ZrcAY=",
|
||||||
"path": "github.com/docker/distribution/registry/storage/cache/memory",
|
"path": "github.com/docker/distribution/registry/storage/cache/memory",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "cNp7rNReJHvdSfrIetXS9RGsLSo=",
|
"checksumSHA1": "cNp7rNReJHvdSfrIetXS9RGsLSo=",
|
||||||
"path": "github.com/docker/distribution/uuid",
|
"path": "github.com/docker/distribution/uuid",
|
||||||
"revision": "a9b1322edf48b1fb9aee4e5ded7a4f4ac37c6830",
|
"revision": "12acdf0a6c1e56d965ac6eb395d2bce687bf22fc",
|
||||||
"revisionTime": "2016-07-12T18:18:54Z",
|
"revisionTime": "2016-08-06T00:21:48Z",
|
||||||
"version": "v2.5.0",
|
"version": "v2.5.1",
|
||||||
"versionExact": "v2.5.0"
|
"versionExact": "v2.5.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "sNAU9ojYVUhO6dVXey6T3JhRQpw=",
|
"checksumSHA1": "sNAU9ojYVUhO6dVXey6T3JhRQpw=",
|
||||||
@ -323,5 +323,5 @@
|
|||||||
"revision": ""
|
"revision": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"rootPath": "github.com/vmware/harbor"
|
"rootPath": "github.com/vmware/harbor/src"
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
version: '2'
|
version: '2'
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: library/registry:2.5.0
|
image: library/registry:2.5.1
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- /data/registry:/storage
|
- /data/registry:/storage
|
||||||
|
Loading…
Reference in New Issue
Block a user