![52e0846cec1905d3f2245f66ef51b2e0.png](https://img-blog.csdnimg.cn/img_convert/52e0846cec1905d3f2245f66ef51b2e0.png)
1.Docker Hub
仓库是集中存放镜像的地方。
目前Docker官方仓库维护了一个公共仓库https://hub.docker.com,其中已经包括15000多个的镜像。
大部分需求都可以通过在Docker Hub中直接下来镜像来实现。
登录
可以通过执行docker login命令来输入用户名、密码和邮箱来完成注册登录。
![68c65c00c4b851de5886f5551eb63a54.png](https://img-blog.csdnimg.cn/img_convert/68c65c00c4b851de5886f5551eb63a54.png)
基本操作
用户无需登录可以通过 docker search命令来查找官方仓库中的镜像,并利用docker pull 下载到本地,可以通过docker push 命令将本地镜像推送到docker hub。
先tag一下复制一个镜像,然后把镜像push到服务器上
![aeec6daa2344b455572e84f0b3862d03.png](https://img-blog.csdnimg.cn/img_convert/aeec6daa2344b455572e84f0b3862d03.png)
![86528a818cd1b23c15d9b32d64c19f47.png](https://img-blog.csdnimg.cn/img_convert/86528a818cd1b23c15d9b32d64c19f47.png)
2.创建和使用私有仓库
使用registry镜像创建私有仓库
可以通过docker官方提供的registry镜像来搭建一套本地私有仓库。
镜像地址:https://hub.docker.com/_/registry/
命令:
docker run -eSEARCH_BACKEND=sqlalchemy-eSQLALCHEMY_INDEX_DATABASE=sqlite:tmp/docker-registry.db-d --name registry -p 5000:5000 registry
![48c002382e319dbe8369cd533fef8326.png](https://img-blog.csdnimg.cn/img_convert/48c002382e319dbe8369cd533fef8326.png)
-e设定环境变量
-d从后台启动的方式镜像启动
-name 启动的容器起个名字
-p 暴露端口,容器内部的5000绑定到宿主机的5000端口上。
registry镜像本身
SEARCH_BACKEND=sqlalchemy默认索引是可以查询的
参考地址:
https://github.com/docker/docker-registry#search-engine-options
https://hub.docker.com/_/registry/
自动下载并启动一个registry容器,创建本地的私有仓库服务。
默认仓库创建在/tmp/registry目录下。
![862acc8ecf10310df752a9d711a7ce3b.png](https://img-blog.csdnimg.cn/img_convert/862acc8ecf10310df752a9d711a7ce3b.png)
上传到本地的私有仓库中,
![a1afd01382c6ac0ec94cfd72e50f9566.png](https://img-blog.csdnimg.cn/img_convert/a1afd01382c6ac0ec94cfd72e50f9566.png)
报错了:http:server gave HTTP response to HTTPS client 后面会告诉你如何解决往下看。
docker启动参数配置:
环境:centos7解决上边的问题
配置文件:/lib/systemd/system/docker.service
修改成:
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --insecure-registry192.168.100.146:5000
(此处默认2375为主管理端口,unix:///var/run/docker.sock用于本地管理,7654是备用的端口)
![498b5c48c47d9ca2803942e7355a7ea1.png](https://img-blog.csdnimg.cn/img_convert/498b5c48c47d9ca2803942e7355a7ea1.png)
重启服务,在启动一个私有仓库的容器,然后push到私有仓库中
![dca829c45c80c8f1ac9446fa259e379a.png](https://img-blog.csdnimg.cn/img_convert/dca829c45c80c8f1ac9446fa259e379a.png)
参考地址:https://docs.docker.com/engine/admin/configuring/
3.仓库加速服务
加速下载官方镜像。
推荐服务:https://dashboard.daocloud.io/
点击加速器:https://dashboard.daocloud.io/mirror
![635d5aa958fc8450fed7388e87fb11d8.png](https://img-blog.csdnimg.cn/img_convert/635d5aa958fc8450fed7388e87fb11d8.png)
![15fc0772e524bce92fcd46b56cf23eca.png](https://img-blog.csdnimg.cn/img_convert/15fc0772e524bce92fcd46b56cf23eca.png)
![2bf8990212d50564994ea26cd2dfc822.png](https://img-blog.csdnimg.cn/img_convert/2bf8990212d50564994ea26cd2dfc822.png)
配置Docker加速器:
![dd5d06d82a3b3f2e4fd7d15d8086710c.png](https://img-blog.csdnimg.cn/img_convert/dd5d06d82a3b3f2e4fd7d15d8086710c.png)
下载第三方官方仓库。
4.仓库管理
Registry Web UI
用于镜像的查询,删除。
镜像地址:https://hub.docker.com/r/atcol/docker-registry-ui/
![60e79956f28420508c3f356a7c786c9f.png](https://img-blog.csdnimg.cn/img_convert/60e79956f28420508c3f356a7c786c9f.png)
![39802654ca0967e3b4caf5f5c37a75e8.png](https://img-blog.csdnimg.cn/img_convert/39802654ca0967e3b4caf5f5c37a75e8.png)
启动命令:运行下面的命令的时候建议先配置上边讲的加速哦,因为要下载的东西有点多。
docker run -d --nameregistry_ui -p 8080:8080 -e REG1=http://172.17.0.2:5000/v1/atcol/docker-registry-ui
![0b95f9923ee9575e6f5caad12e049615.png](https://img-blog.csdnimg.cn/img_convert/0b95f9923ee9575e6f5caad12e049615.png)
查看端口是否启用
![0b9a1e89836c8acd66f3cd9c508f3a8e.png](https://img-blog.csdnimg.cn/img_convert/0b9a1e89836c8acd66f3cd9c508f3a8e.png)
查看logs
![92c7f9c0102f643b09d2622f41f2365e.png](https://img-blog.csdnimg.cn/img_convert/92c7f9c0102f643b09d2622f41f2365e.png)
访问地址:
http://IP地址:8080
![2e4481c2c901d05eef614071d813698b.png](https://img-blog.csdnimg.cn/img_convert/2e4481c2c901d05eef614071d813698b.png)
PS:感谢大家支持,我会每天继续写docker技术文章。分享给大家。感谢大家的关注和收藏。