前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker Registry

Docker Registry

作者头像
魏守峰
发布2018-04-28 15:59:01
2K0
发布2018-04-28 15:59:01
举报
文章被收录于专栏:点滴积累点滴积累

前言

上一篇文章讲了Docker Machine实现多主机Docker节点的管理。本文讲解如何实现Docker Registry,其实这个在第一篇Docker入门一文中已经简单介绍,本文仅是对一些细节做个说明。

Why Docker Registry?

有时我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要Docker Registry,它可以用来存储和管理自己的镜像。

How to install Docker Registry?

其实创建私有的Docker仓库非常简单,只需要运行一个Registry容器即可,该容器存储在Docker HUB中。

代码语言:javascript
复制
docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry

-d 是后台启动容器。

-p 将容器的 5000 端口映射到 Host 的 5000 端口。5000 是 registry 服务端口。

-v 将容器 /var/lib/registry目录映射到宿主机的/myregistry,用于存放镜像数据。

How to use Docker Registry?

理论上我们已经搭建好了自己的私有镜像仓库,但这时候还有一些问题需要我们解决。

在pull或者push镜像时报拒绝连接的错误。

这是由于Registry为了安全性考虑,默认是需要证书支持的,证书这块我倒没有研究过,可以通过一个简单的办法解决。创建或者修改/etc/docker/daemon.json文件,并在其中写入

代码语言:javascript
复制
{
    "insecure-registries": ["<ip>:5000"] 
}

其中为安装了Registry的机器ip地址。需要注意的是在安装registry的节点和客户端需要访问私有Registry的节点都需要执行此步操作。

修改文之后执行以下命令重启节点docker。

代码语言:javascript
复制
systemctl daemon-reload
systemctl restart docker

我是在ubuntu16环境进行的上述操作,其他系统可以参考相应命令。

通过 docker tag重命名镜像,使之与registry匹配。

代码语言:javascript
复制
docker tag wsf <ip>:5000/wsf:v1

给wsf镜像重命名为:5000/wsf:v1,v1为版本号,前面必须要加上域名或IP地址(运行上面registry容器的地址)和端口号。

其实Docker HUB与我们要建立的私有Registry没有本质的区别。

代码语言:javascript
复制
docker run ubuntu 

语句从官方hub中寻找镜像,它是

代码语言:javascript
复制
docker run docker.io/library/ubuntu 

的简写。

docker.io即是上面的ip地址,端口号为80省略。

上传镜像

代码语言:javascript
复制
docker push <ip>:5000/wsf:v1

下载镜像

代码语言:javascript
复制
docker pull <ip>:5000/wsf:v1

上传和下载镜像都可以在任意能访问Registry的节点上进行。前提是此节点必须进行上述的修改daemon.json操作。

查看Registry中所有镜像信息

代码语言:javascript
复制
curl http://<ip>:5000/v2/_catalog

此语句会返回一个json,包含当前Registry中存储的镜像信息。

总结

本文简单为大家介绍了Docker Registry的相关细节,有了这个东西就能更好的实现docker的多主机管理和我们自定义镜像的管理。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Why Docker Registry?
  • How to install Docker Registry?
  • How to use Docker Registry?
    • 在pull或者push镜像时报拒绝连接的错误。
      • 通过 docker tag重命名镜像,使之与registry匹配。
        • 上传镜像
          • 下载镜像
            • 查看Registry中所有镜像信息
            • 总结
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档