仓库是集中存放镜像的地方,分为公共仓库和私有仓库。一个容易与之混肴的概念是注册服务器。实际上注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像。从这方面来说,可将仓库看做一个具体的项目或目录。例如对于仓库地址private-docker.com/ubuntu来说,private-docker.com是注册服务器地址,ubuntu是仓库名。

1.Docker Hub公共镜像市场

目前Docker官方维护了一个公共镜像仓库https://hub.docker.com,其中已经包括超过上万的镜像。大部分镜像需求,都可以通过Docker Hub中直接下载镜像来实现。

(1)登录

可以通过命令行执行docker login命令输入用户名和密码、邮箱等来完成注册和登录。注册成功后,本地用户目录.dockerfile中将保存用户的认证信息。

登录成功的用户可以上传个人制造的镜像。

(2)基本操作

用户无需登录即可通过docker search命令来查找官方仓库中的镜像,并利用docker pull 命令来将它下载到本地。

例如:

搜寻centos的镜像

下载centos镜像

(3)自动创建

自动创建功能对于需要经常升级镜像内程序来说,十分方便。有时候,用户创建了镜像,安装了某个软件,如果软件发布新版本则需要手动更新镜像。

而自动创建允许用户通过Docker Hub指定跟踪一个目标网络(目前支持Github或BitBucket)上的项目,一旦项目发生新的提交,则自动执行创建。

要配置自动创建,包括如下步骤:

a.创建并登陆Docker Hub,以及目标网站;*在目标网站中连接账户到Docker Hub;

b.在Docker Hub中配置一个"自动创建";

c.选取一个目标网站中的项目(需要含Dockerfile)和分支;

d.指定Dockerfile的位置,并提交创建;

之后,可以在Docker Hub的“自动创建”页面中跟踪每次创建的状态。

2.时速云镜像市场

时速云镜像市场,通过百度搜索一大把,阿里云等是比较有名的。当然通常是要收费的。

3.搭建本地私有仓库

(1)使用registry镜像创建私有仓库

docker run -d -p 5000:5000 registry
这将自动下载并启动一个registry容器,创建本地的私有仓库服务。

默认情况下,会将仓库建立在容器的/tmp/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径。

例如下面的例子将上传的镜像放到/opt/data/registry目录:

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

此时,在本地将启动一个私有仓库服务,监听端口为5000

(2)管理私有仓库

docker tag ubuntu:14.04 10.0.2.2:5000/test

使用docker push 上传标记的镜像

docker push 10.0.2.2:5000/test

注意:如果要使用安全证书,用户可以从比较知名的CA服务商申请公开的SSL/TLS证书,或者使用openssl等软件自行生成。

Docker实战(三)之访问Docker仓库的更多相关文章

  1. 详解docker实战之搭建私有镜像仓库 - kurbernetes

    1.实战目的 搭建企业私有的镜像仓库,满足从开发环境推送和拉取镜像.当我们使用k8s来编排和调度容器时,操作的基本单位是镜像,所以需要从仓库去拉取镜像到当前的工作节点.本来使用公共的docker hu ...

  2. Docker(三):Docker仓库配置

    1.仓库介绍 仓库(repository)用来集中管理Docker镜像,支持镜像分发和更新. 目前世界上最大最知名的公共仓库是Docker官方的Docker Hub,国内比较知名的有:Docker P ...

  3. Docker实战(二)之操作Docker容器

    容器是Docker的另外一个核心概念.简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层.如果认为虚拟机是模拟运行的一整套操作系统系统(包括内核,应 ...

  4. Docker实战(一)之使用Docker镜像

    镜像是Docker三大核心概念中最为重要的,自Docker诞生之日起“镜像”就是相关社区最为热门的关键字. Docker运行容器前需要本地存在对应的镜像,如果镜像没有保存至本地,Docker会尝试先从 ...

  5. docker学习(三) 安装docker的web可视化管理工具

    1.docker是一个一款很轻便的应用容器引擎,为了更好的管理和使用docker,使用web可视化管理工具似乎更符合大多数人的需求.在这里,我给大家分享下自己使用过的几款web工具:docker UI ...

  6. Docker | 第三章:Docker常用命令

    前言 上一章节,简单介绍了在CentOS下的Docker的安装过程,以及运行了一个官方提供的Hello,World镜像运行了第一个Docker.就像上一章中,验证Docker是否安装成功,我们执行的是 ...

  7. Ubuntu安装 Docker CE,VNC访问docker图形界面并安装ROS

    从包安装 如果您无法使用Docker的存储库来安装Docker CE,则可以下载.deb适用于您的发行版的 文件并手动安装.每次要升级Docker CE时都需要下载新文件. 安装Docker CE,将 ...

  8. Docker(40)- docker 实战三之安装 ES+Kibana

    背景 参考了狂神老师的 Docker 教程,非常棒! https://www.bilibili.com/video/BV1og4y1q7M4?p=16 es 前言 es 暴露的端口很多 es 十分耗内 ...

  9. 深入浅出Docker(三):Docker开源之路

    背景 Docker从一开始的概念阶段就致力于使用开源驱动的方式来发展,它的成功缘于国外成熟的开源文化氛围,以及可借鉴的社区运营经验.通过本文详细的介绍,让大家可以全面了解一个项目亦或者一项技术是如何通 ...

随机推荐

  1. JAVA成员方法的调用分析

    如下面例子: public class A { int x=10; public int getx() {return x;} } public class B extends A { int x=2 ...

  2. 关于Comparator和Comparable的理解

    我们都知道,实现Comparator和Comparable这两个接口,可以实现对对象比较大小.那这个两个又有什么区别呢? comparator 1.接口类在java.util包里面,实现接口时需要导入 ...

  3. CCScrollView的滑动体验

    最近在研究cocos2dx,由于项目中要用到内容滚动效果(内容超出容器,可以通过滑动屏幕滚动来查看),所以就毫不犹豫的选择了CCScrollView组件.   使用中发现CCScrollView的体验 ...

  4. LeetCode CombinationSum

    class Solution { public: vector<vector<int> > combinationSum(vector<int> &cand ...

  5. css3中Animation

    CSS3我在5年之前就有用了,包括公司项目都一直在很前沿的技术. 最近在写慕课网的七夕主题,用了大量的CSS3动画,但是真的沉淀下来仔细的去深入CSS3动画的各个属性发现还是很深的,这里就写下关于帧动 ...

  6. thinkPHP3.2.2 控制器内跳转的三种方式

    public function jump() { $obj = new TestController(); $obj->logged(); } public function jump1() { ...

  7. needPrint 不显示打印按钮

     客户问题:       客户用的是needPrint 来显示打印按钮,现在访问不能显示后台提示有错误 打开控制台显示: java.security.AccessControlException: ...

  8. git clone过程中发生的错误

    错误提示: 问题原因以及解决方式:http://blog.csdn.net/huihut/article/details/79404421

  9. 结对编程的感想&收获

    关于结对编程的感想.感受,见我的另一篇随笔——<构建之法>结对编程   感想 下面我来谈谈本次结对编程的收获以及发现的问题 收获 ①这是我人生中第一次做UI界面设计,刚拿到这个题目还是比较 ...

  10. [C++] 用Xcode来写C++程序[7] Class

    用Xcode来写C++程序[7] Class 不带构造函数的Rectangle类 // // Rectangle.h // Plus // // Created by YouXianMing on 1 ...