Docker Registry
前言
上一篇文章讲了Docker Machine实现多主机Docker节点的管理。本文讲解如何实现Docker Registry,其实这个在第一篇Docker入门一文中已经简单介绍,本文仅是对一些细节做个说明。
Why Docker Registry?
有时我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要Docker Registry,它可以用来存储和管理自己的镜像。
How to install Docker Registry?
其实创建私有的Docker仓库非常简单,只需要运行一个Registry容器即可,该容器存储在Docker HUB中。
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
文件,并在其中写入
{
"insecure-registries": ["<ip>:5000"]
}
其中为安装了Registry的机器ip地址。需要注意的是在安装registry的节点和客户端需要访问私有Registry的节点都需要执行此步操作。
修改文之后执行以下命令重启节点docker。
systemctl daemon-reload
systemctl restart docker
我是在ubuntu16环境进行的上述操作,其他系统可以参考相应命令。
通过 docker tag重命名镜像,使之与registry匹配。
docker tag wsf <ip>:5000/wsf:v1
给wsf镜像重命名为:5000/wsf:v1,v1为版本号,前面必须要加上域名或IP地址(运行上面registry容器的地址)和端口号。
其实Docker HUB与我们要建立的私有Registry没有本质的区别。
docker run ubuntu
语句从官方hub中寻找镜像,它是
docker run docker.io/library/ubuntu
的简写。
docker.io即是上面的ip地址,端口号为80省略。
上传镜像
docker push <ip>:5000/wsf:v1
下载镜像
docker pull <ip>:5000/wsf:v1
上传和下载镜像都可以在任意能访问Registry的节点上进行。前提是此节点必须进行上述的修改daemon.json操作。
查看Registry中所有镜像信息
curl http://<ip>:5000/v2/_catalog
此语句会返回一个json,包含当前Registry中存储的镜像信息。
总结
本文简单为大家介绍了Docker Registry的相关细节,有了这个东西就能更好的实现docker的多主机管理和我们自定义镜像的管理。
Docker Registry的更多相关文章
- docker4dotnet #4 使用Azure云存储构建高速 Docker registry
使用Docker来构建应用程序最常见的操作就是 docker run 或者 docker pull了,但是由于众所周知的原因,在国内想要高速稳定的获取docker hub上面的资源并不是件容易的事情, ...
- 建立docker私有库(docker registry)(转)
建立docker私有库(docker registry) 博客分类: docker 我的目标还是无互联网安装,部署内部的docker私有库,目前docker镜像的获得还是需要互联网,将下载好的do ...
- 在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务
本文描述了如何在POWER8服务器上搭建一个本地化的Docker镜像仓库,主要涉及镜像制作,Docker Registry服务启动等.希望能够对在非X86服务器上搭建Docker仓库的同学提供参考. ...
- 为 Docker Registry 增加 Nginx 前端
其实Docker Registry 就是一个API backend,所以加一个Nginx前端有大大的好处,比如docker push 时增加用户名密码验证. 怎么加?请参考以下nginx配置 upst ...
- Docker Registry搭建私有仓库
利用Registry镜像搭建Docker私有仓库遇到了很多坑,说来也是找到的资料都是杂而不精的东西,所以也没少走了弯路,现在回过头看去感觉好多坑还是别人给挖的··· 不过努力的最终结果还是好的,因为找 ...
- nginx反向代理docker registry报”blob upload unknown"解决办法
问题症状:keepalived+nginx反向代理后端docker registry群集时,使用docker客户机向registry push镜像时出现 "blob upload unkno ...
- Docker入门教程(四)Docker Registry
Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...
- Docker registry V2
部署私有Docker Registry 搭建 Insecure Registry 修改Registry server上的Docker daemon的配置,为DOCKER_OPTS增加–insecure ...
- 【云计算】docker registry v2简介
ubuntu docker方式部署docker registry v2 2016-03-03 17:36 by JackieHan, 4 阅读, 0 评论, 收藏, 编辑 生成自己签名的证书 生成签 ...
- 在CentOS 6上搭建私有的Docker Registry
在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...
随机推荐
- TIOBE:全球编程语言最新排名(Kotlin排名进入前50名)
作为coder,大家当然关心自己所使用语言的应用趋势.要是几年后所用语言变得默默无闻,那岂不是之前的知识储备与经验积累都会大打折扣.TIOBE排行榜是根据互联网上有经验的程序员.课程和第三方厂商的数量 ...
- h5、jq 移动端评论点攒功能
h5.jq 移动端评论点攒功能 平时做的项目中大部分都会涉及到评论的功能,之前用angular写的项目,功能写起来很方便,但是对于一个单页来说,angular有点大材小用了,所有今天分享一个关于jq制 ...
- C语言精要总结-指针系列(二)
此文为指针系列第二篇: C语言精要总结-指针系列(一) C语言精要总结-指针系列(二) 指针运算 前面提到过指针的解引用运算,除此之外,指针还能进行部分算数运算.关系运算 指针能进行的有意义的算术运算 ...
- 【Android Developers Training】 87. 序言:同步到云
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Spring Security -SpEL表达式
Spring Security -SpEL表达式 开启SpEL表达式 <!-- use-expressions是否开启 SpEL表达式 o.s.s.web.access.expression.W ...
- Visual Studio 2017离线安装包下载、安装
1. 首先下载在线安装exe,官网地址https://www.visualstudio.com/zh-hans/downloads/ 2. 运行CMD, 执行脚本 vs_enterprise.exe ...
- 关于引入多个jquery冲突的问题(附一个很好用的validate前端验证框架及使用方法)
废话不多说,进入正题: 如果一个jsp中想要使用两个不同版本的jquery怎么办呢?客官往下看: <script src="${ctxStatic}/jquery/jquery-1.8 ...
- ArchSummit全球架构师峰会2017年深圳站 漫谈
自去年6月跳槽到某CDN厂,从偏向移动端开发又回到了专注后端,关于做一个移动应用独立开发者的计划暂时搁置,但是如马云所讲: "梦想还是要有的,万一实现了呢".去年下半年辛苦加班加点 ...
- vijos1037题解
题目: 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难.为了纪念"9?11"事件,Mr.F决定自己用水晶来搭建一座双塔. Mr. ...
- DOM元素拖拽效果
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...