docker-registry 私有仓库

#registry的安装 启动私有仓库
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry

#上传镜像
#先打tag:
docker tag wordpress:latest 10.0.0.11/library/wordpress:v1
#push上传
docker push 10.0.0.11/library/wordpress:v1
#默认上传会报错!
The push refers to a repository [10.0.0.11:5000/wordpress:latest]
Get https://10.0.0.11:5000/v1/_ping: http: server gave HTTP response to HTTPS client
#解决办法:
把自己的私有镜像仓库加到信任的仓库列表中。
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.11:5000"]
}
systemctl restart docker
然后重新push

#下载镜像
docker pull 10.0.0.11:5000/library/wordpress:v1
#默认下载会报错
Trying to pull repository 10.0.0.11:5000/wordpress:v1 ...
Get https://10.0.0.11:5000/v1/_ping: http: server gave HTTP response to HTTPS client
#解决办法:
把自己的私有镜像仓库加到信任的仓库列表中。
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.11:5000"]
}
systemctl restart docker
然后重新pull

#删除镜像
1.进入docker registry的容器中
docker exec -it registry /bin/sh
2.删除repo
rm -fr /var/lib/registry/docker/registry/v2/repositories/nginx
3.清楚掉blob
registry garbage-collect /etc/docker/registry/config.yml

#带认证的registry
yum install httpd-tools -y
mkdir /opt/registry-var/auth/ -p
htpasswd -Bbn wyd 123456 >> /opt/registry-var/auth/htpasswd

docker run -d -p 5000:5000 -v /opt/registry-var/auth/:/auth/ -v /opt/myregistry:/var/lib/registry -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry

#上传下载镜像都需要登陆哦
docker login 10.0.0.11:5000
wyd
123456

docker logout 10.0.0.11:5000登出