docker registry介绍
docker1.6版本开始支持registry 2.0 ,docker1.5和之前的版本无法读取2.0的镜像。registry2.4版本之后支持回收站机制,可以删除镜像了,2.4版本之前无法删除镜像。
#下载
docker pull registry:2.6.2
#创建存储目录
mkdir -p /docker/{auth,registry}
#创建账号密码
docker run --entrypoint htpasswd registry:2.6.2 -Bbn admin admin > /docker/auth/htpasswd
#增加账号
docker run --entrypoint htpasswd registry:2.6.2 -Bbn test 123456 > /docker/auth/htpasswd
#查看账号密码
[root@localhost images]# cat /docker/auth/htpasswd
admin:$2y$05$.kMgc61AkA51WZ8xKQX1Ge6IFbadO4XFrA0Y3/VjgNPfC5.dl67VG
#运行容器
docker run -d -p 5000:5000 --restart=always --name registry1 \
-v /docker/images:/var/lib/registry \
-v /docker/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry:2.6.2
##/var/lib/registry是存储镜像的目录挂载出来
##REGISTRY_AUTH_HTPASSWD_PATH设置账号密码位置
#将仓库地址加入docker配置文件,不然会报错
[root@localhost images]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"],
"insecure-registries":["192.168.8.10:5000"]
}
#登录
docker login 192.168.8.10:5000
#更改镜像tag
docker tag alpine:3.10 192.168.8.10:5000/system/alpine:3.10
#上传镜像
docker push 192.168.8.10:5000/system/alpine:3.10