Docker官方的Docker hub尽管提供了有非常多image,也基本上包括了我们须要使用的,可是其訪问起来比較慢。假设自己要定制image。多台server之间的共享使用此image非常不方便。这个时候我们就迫切须要一个本地的私有仓库了。

以下的图说明了Docker私有仓库的作用。

Docker私有仓库能够通过docker-registry项目来实现,通过http服务来上传下载。docker-registry在Docker hub上已有现成的image。

  $ docker search registry

选择第1个。将其从Docker hub上down下来(最好带tag,不然会将全部的tag都down下来)。

  $ docker pull registry

这个下载的过程有点长,耐心等待一下。O(∩_∩)O哈哈~。

  $ docker images

registry镜像下下来后。通过以下的命令启动,并将registry的容器存储images的文件夹映射到宿主server的/opt/docker/registry文件夹。

  $ docker run -d -p 5000:5000 -v /opt/docker/registry:/tmp/registry registry

启动以后在浏览器中输入http://主机IP:5000或者http://主机IP:5000/v1/search。假设有显示就说明Docker私有仓库已经建好了。下一步将本地的images
push到Docker私有仓库。

现将本地的image打一个tag,新image名称必须带有"主机IP:5000"。例如以下(我这里用127.0.0.1仅仅是举例)。

REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry latest 5562556b14f9 8 days ago 422.9 MB
127.0.0.1:5000/registry  latest              5562556b14f9        8 days ago          422.9 MB

假设缺少上面这一步。直接push image,会出现例如以下错误。

[docker@docker1 ~]$ docker push registry
The push refers to a repository [registry] (len: 1)
Sending image list
2014/10/27 15:48:25 Error: Status 403 trying to push repository registry: Account is not Active

运行例如以下push命令后。能够在http://主机IP:5000/v1/search看到存储到Docker私有仓库的信息。

  $ docker push 127.0.0.1:5000/registry

下次能够通过pull命令下载到其它server上,那可就快多了。

pull的时候记得带"主机IP:5000",不然还是去Docker hub上下载而不是私有仓库下载,例如以下命令。

  $ docker pull 127.0.0.1:5000/registry

到此。私有仓库存取image就能够了。

假设是save/load的image。会出现以下的错误。对于这种image。最好又一次build对应的Dockerfile。

[docker@docker1 ~] $docker push 127.0.0.1:5000/nexus
The push refers to a repository [127.0.0.1:5000/nexus] (len: 1)
Sending image list
Pushing repository 127.0.0.1:5000/nexus (1 tags) 2014/10/27 14:50:37 HTTP code 400 while uploading metadata: {"error": "Missing key `id' in JSON"}

docker1.3.0以后的版本号。增加了认证机制,docker pull & push会报例如以下错误:

[docker@docker1 ~]$ docker push 127.0.0.1:5000/registry
2014/12/02 11:33:04 Error: Invalid registry endpoint https://127.0.0.1:5000/v1/: Get https://127.0.0.1:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 127.0.0.1:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/127.0.0.1:5000/ca.crt

使用registry的server和client启动docker时都须要加上"--insecure-registry"參数,pull和push才可正常操作。例如以下命令(ip都是registry所在server的ip地址)。

[docker@docker1 ~]$ service docker stop
[docker@docker1 ~]$ nohup docker -H unix:///var/run/docker.sock --insecure-registry 127.0.0.1:5000 -d &


docker创建私有仓库及存储image的更多相关文章

  1. docker创建私有仓库

    由于网速和大中华局域网效果,使得我们在DockerHub下载镜像的速度很慢,甚至一些国内的镜像仓库,也感觉速度不是很好.所以,很有必要在本地或者一个我们访问很快速的地方(自己的云服务器)搭建一套镜像仓 ...

  2. 转 docker创建私有仓库和k8s中使用私有镜像

    docker私有仓库建立 环境说明我们选取192.168.5.2做私有仓库地址yum install docker -y1.启动docker仓库端口服务 docker run -d -p 5000:5 ...

  3. docker 创建私有仓库

    由于国内访问国际网络缓慢,从DockerHub下载镜像的速度感人,所以我们有必要在本地或者自己的云服务器上搭建一套镜像仓库,提高容器下载速度使用私有仓库需修改地址:Centos 7 Docker配置: ...

  4. Docker学习总结之docker创建私有仓库(private Repositories)

    Docker 创建 Private Repositories 前言 基于GFW的缘故,国内大陆基本无法pull国外的镜像,更别说官方的index了.如果images无法pull下来,那么docker就 ...

  5. docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态

    一.自定义镜像 1,案例1 要求:请自定义一个 docker 镜像,基于 hub.c.163.com/library/centos,要求创建出来的镜像在生成容器的时候,可以直接使用 ifconfig ...

  6. 部署Nexus作为docker的私有仓库

    目录 Docker搭建Nexus私有仓库... 1 一.安装部署... 1 1.安装... 2 2.访问网页端... 2 二.配置使用... 2 1.创建本地仓库... 2 2.docker配置... ...

  7. Docker Harbor私有仓库部署与管理 (超详细配图)

    Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...

  8. Docker 搭建私有仓库

    Docker 搭建私有仓库 环境: docker 版本 :18.09.1 主机地址:192.168.1.79 1.运行并创建私有仓库 docker run -d \ -v /opt/registry: ...

  9. [Docker]docker搭建私有仓库(ssl、身份认证)

    docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...

随机推荐

  1. [HAOI2010][bzoj2424] 订货 [费用流]

    题面 传送门 思路 这题其实挺水的......做过餐巾计划问题就能明白,是同一个道理 首先,显然刚刚好满足每一个月的需求,会得到最优解(废话-_-||) 然后我们发现,货物在不同的月之间的转移,可以比 ...

  2. 企鹅的游戏(penguin)

    企鹅的游戏(penguin) 题目描述 Shiva养了一只小企鹅.小企鹅很聪明,她总是帮Shiva和他的好朋友想出很多很好玩的游 戏.其中有一个游戏特别经典,Shiva和他的小伙伴们百玩不厌. 游戏规 ...

  3. root Android 模拟器

    参考文档:http://blog.csdn.net/xbalien29/article/details/22661479 本文以2.3.3版本系统为目标. 一 准备工作 首先我们需要准备3样工具:su ...

  4. Perm 排列计数(bzoj 2111)

    Description 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic ...

  5. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛部分题解

    A 跳台阶 思路:其实很简单,不过当时直接dp来做了 AC代码: #define _CRT_SECURE_NO_DEPRECATE #include<iostream> #include& ...

  6. pat 团体天梯赛 L3-010. 是否完全二叉搜索树

    L3-010. 是否完全二叉搜索树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 将一系列给定数字顺序插入一个初始为空的二叉搜 ...

  7. 团体天梯赛 L3-001. 凑零钱

    L3-001. 凑零钱 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 韩梅梅喜欢满宇宙到处逛街.现在她逛到了一家火星店里,发现 ...

  8. error LNK2001: unresolved external symbol __imp__WSAStartup@8 SOCKET(转)

    VC6.0下的错误信息: error LNK2001: unresolved external symbol __imp__socket@12 error LNK2001: unresolved ex ...

  9. Eclipse下搭建Maven框架

    内容中包含 base64string 图片造成字符过多,拒绝显示

  10. hdu 3879 hdu 3917 构造最大权闭合图 俩经典题

    hdu3879  base station : 各一个无向图,点的权是负的,边的权是正的.自己建一个子图,使得获利最大. 一看,就感觉按最大密度子图的构想:选了边那么连接的俩端点必需选,于是就以边做点 ...