Ubuntu Docker Registry 搭建私有仓库
服务器版本 Ubuntu 16.04 LTS。
安装命令:
$ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
Registry 服务默认会将镜像保存在/var/lib/registry
目录下,上面命令设置保存目录在/opt/registry
下,我们可以看下 Registry 容器状态:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e2b1ffd9072e registry "/entrypoint.sh /e..." 2 hours ago Up About an hour 0.0.0.0:5000->5000/tcp stoic_davinci
接着,我们登录另外一台服务器,将本地的已有的镜像文件推送到私有仓库中,首先,我们需要将镜像的tag
标记为要推送到私有仓库,示例:
$ docker tag hwapp:v2 40.125.207.78:5000/hwapp:v3
然后,我们看下镜像文件列表:
$ docker images
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
40.125.207.78:5000/hwapp v3 fe28b19b4410 24 hours ago 1.63GB
hwapp v2 fe28b19b4410 24 hours ago 1.63GB
hwapp v1 8a28e2e870d4 25 hours ago 1.63GB
microsoft/aspnetcore latest 0f2330f1a843 26 hours ago 280MB
microsoft/dotnet latest a7dd4972fc95 6 days ago 1.63GB
最后,我们就可以将40.125.207.78:5000/hwapp:v3
镜像文件,推送到私有仓库了:
$ docker push 40.125.207.78:5000/hwapp:v3
可能会出现下面的错误:
$ docker push 40.125.207.78:5000/hwapp:v3
The push refers to a repository [40.125.207.78:5000/hwapp]
Get https://40.125.207.78:5000/v1/_ping: http: server gave HTTP response to HTTPS client
解决方式,在本服务器操作,而不是私有仓库所在服务器(如果已有daemon.json
文件,进行修改即可):
$ touch /etc/docker/daemon.json
$ echo '{ "insecure-registries": ["40.125.207.78:5000"] }' > /etc/docker/daemon.json
$ service docker restart
然后,再执行下推送命令就可以了,我们也可以直接构建成要推送私有仓库的镜像,示例:
$ docker build -t 40.125.207.78:5000/hwapp:v4 .
然后,再执行下推送命令:
$ docker push 40.125.207.78:5000/hwapp:v4
推送成功之后,我们可以检查下私有仓库里的镜像文件:
$ curl http://40.125.207.78:5000/v2/_catalog
{"repositories":["hwapp"]}
$ curl http://40.125.207.78:5000/v2/hwapp/tags/list
{"name":"hwapp","tags":["v3","v4"]}
然后,我们就可以拉取私有仓库里的镜像文件了:
$ docker pull 40.125.207.78:5000/hwapp:v4
参考资料:
Ubuntu Docker Registry 搭建私有仓库的更多相关文章
- Docker Registry搭建私有仓库
利用Registry镜像搭建Docker私有仓库遇到了很多坑,说来也是找到的资料都是杂而不精的东西,所以也没少走了弯路,现在回过头看去感觉好多坑还是别人给挖的··· 不过努力的最终结果还是好的,因为找 ...
- Docker——Registry搭建私有镜像仓库
前言 在 Docker 中,当我们执行 docker pull xxx 的时候,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库 ...
- Docker:搭建私有仓库(Registry 2.4)
一.背景 首先,Docker Hub是一个很好的用于管理公共镜像的地方,我们可以在上面找到想要的镜像(Docker Hub的下载量已经达到数亿次):而且我们也可以把自己的镜像推送上去.但是,有的时候, ...
- docker之搭建私有仓库
一.私有仓库 1.防止网络原因:下载慢,访问不到的情况,需要在内网搭建一个私有仓库. 二.仓库镜像下载 [root@node03 ~]# docker pull registry 三.创建私有仓库容器 ...
- docker registry-v2 搭建私有仓库
参考官方文档:https://docs.docker.com/registry/deploying/ 参考 :http://www.tuicool.com/articles/6jEJZj 本例子使用两 ...
- docker registry (私有仓库)
首先要导入registry的镜像文件 1.普通的registry 一条命令创建一个仓库 docker run -d -p 5000:5000 --restart=always --name regis ...
- Docker 在搭建私有仓库配置镜像时候报错
今天搞私有镜像报了个错 ,看了,好久原来是 多了个空格 服务失败,因为控制进程退出时带有错误代码.参见"systemctl状态docker".详细信息参见"服务" ...
- docker进阶-搭建私有企业级镜像仓库Harbor
为什么要搭建私有镜像仓库 对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...
- Docker搭建私有仓库
1,下载仓库镜像. docker pull registry //主要用于搭建私有仓库的. 2,将宿主机端口映射到容器中去,容器的5000端口是不能更改的. docker run -d -p ...
随机推荐
- JS组件系列——在ABP中封装BootstrapTable
前言:关于ABP框架,博主关注差不多有两年了吧,一直迟迟没有尝试.一方面博主觉得像这种复杂的开发框架肯定有它的过人之处,系统的稳定性和健壮性比一般的开源框架肯定强很多,可是另一方面每每想到它繁琐的封装 ...
- github 或者gitlab 设置添加SSH
克隆项目二种方式: 1. 使用https url克隆, 复制https url 然后到 git clone https-url 2.使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH ...
- NYOJ--1058--dfs--部分和问题
/* Name: NYOJ--1058--部分和问题 Author: shen_渊 Date: 15/04/17 19:27 Description: 简单的DFS,以为马上过的,递归的i+1写错了, ...
- Vue表单控件绑定
前面的话 本文将详细介绍Vue表单控件绑定 基础用法 可以用 v-model 指令在表单控件元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.v-model本质上不过是语法糖,它负 ...
- 使用struct模块从定宽数据文件导入数据
- Qt实现九宫图类控件
<1>. 头文件(类声明) class CPreviewWidge : public QWidget { Q_OBJECT public: CPreviewWidge( ); ~CPrev ...
- NSURLConnection从入门到放弃
尽管NSURLConnection已经不建议使用了,iOS 7取而代之的是NSURLSession,但是本文依然打算剖析一下,其中一些思想还是值得学习一下,如果您不用NSURLConnection,并 ...
- C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 没啥好说的 ...
- Java 图片处理解决方案:ImageMagick 快速入门
一.ImageMagick介绍 ImageMagick是一个免费的创建.编辑.合成图片的软件,可以实现图片切割.颜色替换.图片缩略图.图片水印等各种效果.ImageMagick是免费开源软件,支持大多 ...
- nRF24LE1/nRF31512烧录驱动开发
一丶协议分析 这两种芯片都是programming through SPI,烧录要用到的引脚有 SPI_MOSI_Port :数据输入: SPI_MISO_Port :数据输出: SPI_SCLK_P ...