每个注册用户都可以上传和管理自己的镜像
上传镜像前需要登陆,登陆后生成~/.docker/config.json文件保存验证信息
docker login
上传本地镜像前必须先给上传的镜像用docker tag命令打标签
标签格式: docker.io/用户账号/镜像名:TAG
docker tag alpine:3.11 docker.io/sdada/alpine:3.11-v1
docker push? docker.io...
注:若tag省略,将上传指定REPOSITORY的所有版本
docker pull ....
组织类似名称空间,每个组织的名称全网站唯一,一个组织可以有多个用户账户使用,并可以指定不同用户对组织仓库不同的权限
三种不同权限:
Read-only
Read&Write
Admin
在官方网页进行即可
docker pull
网址:https://github.com/docker/distribution
mkdir -p /etc/docker/auth
apt -y install apache2-utiles
htpasswd -Bbn sada 123456 > /etc/docker/auth/registy
docker run -d -p 5000:5000 --restart=always --name registry
-v /etc/docker/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e
"REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e
REGISTRY_AUTH_HTPASSWD_PATH=/auth/registry registry:2.7.1
注:直接登陆会报错,docker login默认使用https登陆,而docker registry为http,所以默认登陆失败
将registry仓库服务器地址加入service单元文件
修改配置让docker login支持http协议
vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
--insecure-registry 10.0.0.100:5000
或修改下面文件
vim /etc/docker/daemon.json
{
?"registry-mirrors": ["https://si7y70hh.mirror.aliyuncs.com"],
?"insecure-registries": ["10.0.0.100:5000"]
}
重启配置文件
systemctl daemon-reload
systemctl restart docker
注:docker.io改为IP:port
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。Harbor支持安装在多个Registry节点的镜像资源复制