一、docker hub公共仓库
1.公共仓库地址
https://hub.docker.com,进入后点击sign up注册docker账号
2.登录docker hub
# docker login https://hub.docker.com
3.搜索镜像
# docker search centos
4.使用阿里云镜像加速
参考文档:官方镜像加速
二、registry私有仓库
1. 部署register私有仓库
- 服务器规划
ip | 角色 |
192.168.217.128 | 本地仓库 |
192.168.217.130 | docker客户端 |
- 使用registry镜像创建私有仓库
[root@docker ~]# docker run -d -p 5000:5000 registry:2
- 该命令自动下载官方提供的registry镜像来搭建本地私有仓库,默认情况下创建在容器的/var/lib/registry目录下,可以通过-v来指定路径
[root@docker ~]# docker run -d -p 5000:5000 -v /registry:/var/lib/registry registry:2
- 查看仓库运行情况
- {“repositories”: []} 表示现在仓库中,没有镜像images
2. 使用register私有仓库
- 查看客户端已有的images
- 将该镜像修改tag
- 上传标记镜像
- 成功会出现上述提示,表示本地的仓库默认使用的是https进行上传,那行是latest是重新上传出现的。
- 如果你在push镜像的时候出现问题,可能是因为我们启动的registry服务不是安全可信赖的
- 修改配置文件
vim /etc/docker/daemon.json,
添加下面的内容: "insecure-registries":["192.168.217.128:5000"], 再重启docker 服务
- 仓库端查看镜像
- 删除客户端镜像,从本地仓库下载镜像
3. 管理register私有仓库
- 删除镜像仓库镜像
打开镜像的存储目录,如有-V操作打开挂载目录也可以,删除镜像文件夹
docker exec <容器名> rm -rf /var/lib/registry/docker/registry/v2/repositories/<镜像名>
- 执行垃圾回收操作,注意2.4版本以上的registry才有此功能
docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml
三、Harbor私有镜像仓库
1.Harbor私有镜像仓库
Harbor:是一个用于存储Docker镜像的企业级Registry服务。
Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到Registry私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。
1.1安装docker
1.2安装docker-compose
1.3下载harbor离线安装包
[root@harbor ~] wget https://github.com/vmware/harbor/releases/download/v1.8.6/harbor-offline-installer-v1.8.6.tgz
[root@harbor ~]# tar -xvf harbor-offline-installer-v1.8.6.tgz
(1)修改harbor.yml配置文件
- 注释https相关配置
(2)运行install.sh脚本
[root@harbor harbor]# ./install.sh
(3)访问Harbor并登录
- 初始用户名admin
- 初始密码Harbor12345
(4)创建systemd服务管理脚本
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml up
ExecReload=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml restart
ExecStop=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
四、docker授权访问harbor仓库
1.docker配置文件私有仓库设置
[root@master ~]# vim /etc/docker/daemon.json
2.重启docker
systemctl daemon-reload
systemctl restart docker
3.master节点登录测试
4.推送镜像测试
[root@master ~]# docker tag hello-world 192.168.10.103/library/hello-world:v1
[root@master ~]# docker push 192.168.10.103/library/hello