使用docker hub 需要其账号


基本操作

查找镜像

sudo docker search centos

每个用户有自己的命名空间,如:centos是存仓库中的镜像文件,admln/centos则是admln镜像库中的镜像文件

下载镜像

sudo docker pull centos

上传镜像

sudo docker push centos

存储库

1.私有库

2.公共库

3.组织和机构

一个私人仓库有用的地方在于你可以分享给你团队的成员或者你的组织成员


自动构建

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

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

工作原理是添加一个GitHub或者BitBucket的仓库钩子,当你推送提交的时候就会触发构建和更新

  • 1.创建一个Docker Hub账户并且登陆
  • 2.通过“Link Accounts”按钮连接你的GitHub或者BitBucket
  • 3.配置自动化构建
  • 4.选择一个GithubBitBucket项目来构建你想要构建的Dockerfile
  • 5.选择你想建立的分支(默认是主分支)
  • 6.给自动构建创建一个名称
  • 7.指定一个Docker标签来构建
  • 8.指定Dockerfile的路径,默认是/

私有仓库

有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用

docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库

安装

方法一、

通过下载 registry 镜像运行来实现私服的搭建

sudo docker run -d -p : registry

默认放在/tmp/registry,可以指定目录

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

方法二、

对于 Ubuntu 或 CentOS 等发行版,可以直接通过源安装

centos:

sudo yum install -y python-devel libevent-devel python-pip gcc xz-devel
sudo python-pip install docker-registry

也可以从 docker-registry 项目下载源码进行安装

... ...


在私有仓库上传、下载、搜索镜像

创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送它到仓库,别的机器上就可以下载下来了。例如私有仓库地址为 192.168.7.26:5000

例如

使用docker tag 将 test 这个镜像标记为 192.168.7.26:5000/test

sudo docker tag test 192.168.7.26:/test

使用 docker push 上传标记的镜像

sudo docker push 192.168.7.26:/test

用 curl 查看仓库中的镜像

curl http://192.168.7.26:5000/v1/search

以到另外一台机器去下载这个镜像

sudo docker pull 192.168.7.26:/test

批量上传

wget https://github.com/yeasy/docker_practice/raw/master/_local/push_images.sh; sudo chmod a+x push_images.sh
./push_images.sh ubuntu:latest centos:centos7

私有仓库配置文件

可以直接使用它们来进行开发或生产部署

可以看到

本地私有仓库默认保存在/tmp/registry 中

私有仓库可以搭建在其他地方例如S3或者其他存储设备


使用docker-hub的更多相关文章

  1. 配置 Docker 加速器(Docker Hub Mirror)

    Docker 加速器是什么,我需要使用吗? 使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验.因此 DaoCl ...

  2. Docker Hub仓库注册,使用

    首先保证可以访问Docker Hub,所以需要先把host替换一下 : Google hosts ; 然后就是注册Docker Hub账户:https://hub.docker.com/; 然后就是在 ...

  3. 利用Docker Hub上的Nginx部署Web应用

    Docker Hub上提供了很多镜像,如Nginx,我们不需要自己从ubuntu开始装Nginx再做发布,只需要先下载镜像到本地 docker pull nginx 在/opt下新建文件夹API,将需 ...

  4. docker学习笔记7:发布镜像到docker hub上

    镜像创建好后,很重要的一个操作就是共享和发布.可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上. 要想发布镜像到dokcer hub上,首先要在dokce ...

  5. docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器

    docker hub上有官方的mysql镜像,我们可以利用它来创建mysql容器,作为一个服务容器使用. 1.下载mysql镜像 docker pull mysql 2.创建镜像 docker run ...

  6. Docker Hub工作流程-Docker for Web Developers(6)

    在Github上创建项目仓库 和创建其他Github项目一样,在Github创建一个仓库,然后在仓库里面增加一个dockerfile,然后提交并推送到Github上. 我已经创建的仓库地址:https ...

  7. 在Docker Hub上查找可用的Image映像

    任何人都可以创建Docker Image映像,你可以浏览Docker Hub来查找这些Image映像. 定位Whalesay 映像 打开你的浏览器,浏览Docker Hub: Docker Hub包含 ...

  8. Docker Hub

    目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15,000 的镜像.大部分需求,都可以通过在 Docker Hub 中直接下载镜像来实现. 登录 可以通过执行 ...

  9. 构建自定义docker镜像,上传至docker hub

    docker 优势 (外部参考) Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后 发布到任何流行的Linux机器上,便可以实现虚拟化.Docker改变了虚拟化的方 式,使 ...

  10. docker hub加速访问设置

    前言:docker是国外的,虽然有个版本开源免费,但是其docker  hub还是在国外,刚刚安装后,拉镜像就会发现,连接请求超时,中断服务,这是因为防火墙的问题,所以要将源指向国内的知名docker ...

随机推荐

  1. [cocos2d-js]长按按钮事件

    定义两个全局变量 var bLeftButtonClick = false; var bRightButtonClick = false; var MainLayer = cc.Layer.exten ...

  2. 轻松学习Linux之入门篇

    1.Linux概述: 2.Linux优点 3.linux历史待上传 4.linux部分发行版 5.linux政府扶持 本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  3. 轻松学习Linux之理解进程的管理与控制

    本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  4. 杭电ACM减花布条

    这是原题的地址 http://acm.hdu.edu.cn/showproblem.php?pid=2087 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条 ...

  5. OpenGL复习要点

    [OpenGL要点复习] 1.和像素有关的信息(例如像素的颜色)组织成位平面 (bitplane)的形式,位平面又可以组织成帧缓冲区(framebuffer)的形式.位平面是一块内存区域,保存了屏幕上 ...

  6. c# 解决IIS写Excel的权限问题

    c# 解决IIS写Excel的权限问题 from: http://www.jb51.net/article/31473.htm 发布:mdxy-dxy 字体:[增加 减小] 类型:转载 使用以上方法必 ...

  7. POJ1275Cashier Employment(查分约束系统)

    链接1275Cashier Employment 题目大意就是说有一些人来应聘一个超级市场的工作,每个人的应聘的起始时间在0~23时之间,而超市在时间i需要R[i]个工作人员,而每个人的工作时间都是8 ...

  8. IntegrityError错误

    Python插入数据库提交失败,一直走IntegrityError错误,没打印错误信息(一定注意编码规范,记住打印错误信息),以为插不进去,弄了好久,最后打印了错误信息 (sqlite3.Integr ...

  9. document.getElementById和document.querySelector的区别

    zepto中的$(".111")出错,jQuery中$(".111")不出错的原因: zepto用document.querySelector实现,jQuery ...

  10. DIV+CSS规范命名大全集合

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-06-19)   网页制作中规范使用DIV+CSS命名规则,可以改善优化功效特别是团队合作时候可以提供合作制作效率,具体DI ...