####docker registry
1.获取docker registry镜像
$ docker pull registry:2
Using default tag: latest
latest: Pulling from library/registry
b7f33cc0b48e: Pull complete
46730e1e05c9: Pull complete
458210699647: Pull complete
0cf045fea0fd: Pull complete
b78a03aa98b7: Pull complete
Digest: sha256:0e40793ad06ac099ba63b5a8fae7a83288e64b50fe2eafa2b59741de85fd3b97
Status: Downloaded newer image for registry:latest
2.运行docker registry
将本地/Users/JunGong/registry/data目录挂在到容器/var/lib/registry目录
$ docker run -d -p 5000:5000 --restart=always --name registry -v /Users/JunGong/registry/data:/var/lib/registry registry
使用https可使用如下命令,需要ssl证书,或者前面在加层反向代理
$ docker run -d -p 5000:5000 --restart=always --name registry -v /Users/JunGong/registry/data:/var/lib/registry -v /Users/JunGong/registry/cert:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry
5c90198b982ea74ee6ed5fc7e6454833ad85a7c748c48e30966a40af18d3025f
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1502f1f6f7c1 registry "/entrypoint.sh /e..." 15 seconds ago Up 14 seconds 0.0.0.0:5000->5000/tcp registry
3.推送image
push或pull images的时候会报错,因为默认没加证书,使用的http,但是默认需要使用https,需要在docker运行的时候加上 --insecure-registry 192.168.1.103:5000 参数启动
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest d9094b6afb20 10 hours ago 355 MB
registry latest d1e32b95d8e8 3 weeks ago 33.2 MB
busybox latest 7968321274dc 3 weeks ago 1.11 MB
$ docker tag busybox 192.168.59.103:5000/mybusybox
$ docker push 192.168.59.103:5000/mybusybox
The push refers to a repository [192.168.59.103:5000/mybusybox]
38ac8d0f5bb3: Pushed
latest: digest: sha256:2efce9f5b0cb8815d192ae634b4c87943d0f0b873d98487ee98f8ed0504bd572 size: 527
$ docker pull 192.168.59.103:5000/mybusybox
Using default tag: latest
latest: Pulling from mybusybox
Digest: sha256:2efce9f5b0cb8815d192ae634b4c87943d0f0b873d98487ee98f8ed0504bd572
Status: Image is up to date for 192.168.59.103:5000/mybusybox:latest
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest d9094b6afb20 10 hours ago 355 MB
registry latest d1e32b95d8e8 3 weeks ago 33.2 MB
192.168.59.103:5000/mybusybox latest 7968321274dc 3 weeks ago 1.11 MB
busybox latest 7968321274dc 3 weeks ago 1.11 MB
$ ls ~/registry/data/docker/registry/v2/repositories/mybusybox/
_layers _manifests _uploads
搜索image
$ curl http://192.168.59.103:5000/v2/_catalog
{"repositories":["mybusybox"]}
查看所有该image的tag
$ curl http://192.168.59.103:5000/v2/mybusybox/tags/list
{"name":"mybusybox","tags":["latest"]}