使用docker-hub


使用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 5000:5000 registry

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

sudo docker run -d -p 5000:5000 -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:5000/test

使用 docker push 上传标记的镜像

sudo docker push 192.168.7.26:5000/test

用 curl 查看仓库中的镜像

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

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

sudo docker pull 192.168.7.26:5000/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或者其他存储设备


 

posted @ 2015-01-19 17:14  Daem0n  阅读(735)  评论(0编辑  收藏  举报