Docker Hub

目前Docker官方维护了一个公共仓库Docker Hub,其中已经包含了数量超过15000的镜像。大部分需求都可以通过在Docker Hub中直接下载镜像来实现。

可以在https://hub.docker.com 免费注册一个Docker账号。
在命令行输入执行docker login,输入用户名及密码可以登录Docker Hub,可以通过docker logout退出登录。

通过docker search命令可以查找官方仓库中的镜像,并利用docker pull命令将镜像下载到本地。
用户登录后也可以通过docker push 命令将自己的镜像推送到Docker Hub。

私有仓库

有时候使用Docker Hub这样的公有仓库可能不方便,用户可以创建自己的私有仓库。
docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。

安装运行docker-registry
可以通过官方registry镜像来运行。默认情况下,仓库会被创建在 /var/lib/registry 目录下。
可以通过 -v 参数来将镜像文件放在本地的指定路径

docker run --name registry -d \
-p 5000:5000 --restart=always \
-v /opt/data/registry:/var/lib/registry \
registry

创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后把它推送到仓库。
先查看本地镜像:

docker image ls

使用 docker tag 将test-web:latest这个镜像标记为 127.0.0.1:5000/test-web:latest :

docker tag test-web:latest 127.0.0.1:5000/test-web:latest

使用 docker push 上传标记的镜像:

docker push 127.0.0.1:5000/test-web:latest

使用 curl 查看仓库中的镜像

curl 127.0.0.1:5000/v2/_catalog

如果可以看到 {“registry”:[“test-web”]} ,表明镜像已经被上传成功了。

先删除本地已有的镜像,再尝试从私有仓库下载这个镜像

docker image rm 127.0.0.1:5000/test-web:latest
docker pull 127.0.0.1:5000/test-web:latest

注意事项:
如果不想用127.0.0.1:5000作为仓库地址,比如想让本网段的其他主机也能把镜像推送到仓库,当把把仓库地址改为如192.168.0.101:5000时镜像还是无法推送成功。这是因为Docker 默认不允许非HTTPS方式推送镜像,我们可以通过Docker配置选项来取消这个限制。
centos7下可以修改/etc/docker/daemon.json 文件,写入如下内容:

{
"registry": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"192.168.0.101:5000"
]
}

Docker 构建私有仓库的更多相关文章

  1. 【Docker构建私有仓库】

    Docker默认不允许非HTTPS方式推送镜像,我们可以通过Docker的配置选项来取消此限制: [root@fedora ~]# cat /etc/docker/daemon.json { &quo ...

  2. Docker | 第六章:构建私有仓库

    前言 上一章节,讲解了利用Dockerfile和commit进行自定义镜像的构建.大部分时候,公司运维或者实施部门在构建了符合公司业务的镜像环境后,一般上不会上传到公共资源库的.这就需要自己搭建一个私 ...

  3. Docker 搭建私有仓库

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

  4. Docker本地私有仓库实战

    Docker仓库主要用于存放Docker镜像,Docker仓库分为公共仓库和私有仓库,基于registry可以搭建本地私有仓库,使用私有仓库的优点如下: 1)节省网络带宽,针对于每个镜像不用去Dock ...

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

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

  6. Python Docker 查看私有仓库镜像【转】

    文章来源:python Docker 查看私有仓库镜像 pip 安装: # 首先安装epel扩展源: yum -y install epel-release # 更新完成之后,就可安装pip: yum ...

  7. Docker registry 私有仓库镜像查询、删除、上传、下载 shell

    #Docker官方私有仓库registry #官方只提供了API接口,不方便使用,就写了个shell #docker-registry安装配置http://www.cnblogs.com/elvi/p ...

  8. 菜鸟系列docker——搭建私有仓库harbor(6)

    docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...

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

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

随机推荐

  1. android 7.0 pm install 失败问题

    这两天,把app内置成系统文件或者系统签名取得系统权限,发现使用pm install path在低版本上可行,在高版本就安装失败 抛出 NullPointException,查看了一下源码,发现对包名 ...

  2. 用css和js实现侧边菜单栏点击和鼠标滑动特效

    1点击效果: 2关键代码: css: #div{ display:inline-block; width:100px; height:150px; border-radius: 5px; blackg ...

  3. Vmware虚拟机的安装

    Vmware WorkStation是一款桌面计算机虚拟软件,能够让用户在单一主机上同时运行多个不同的操作系统.每个虚拟操作系统的硬盘分区.数据配置都是独立的,同时又可以将多台虚拟机构建为一个局域网. ...

  4. jquery手指触摸滑动放大图片的方法(比较靠谱的方法)

    jquery手指触摸滑动放大图片的方法(比较靠谱的方法) <pre><!DOCTYPE html><html lang="zh-cn">< ...

  5. css3自定义移动端滚动条

    css3自定义移动端滚动条<pre>/*定义滚动条宽 高度是根据内容设置的高度决定的*/::-webkit-scrollbar{ width: 5px;} /*定义滚动条轨道 内阴影+圆角 ...

  6. java VS c#,异同点

    因工作安排,后期需要维护一个java项目.所以稍微熟悉下java,开此篇记录下java与c#的区别点,方便增强自己学习效果.肯定是不全的,可能是有错的,欢迎批评指正. 一.关键字 描述 C# Java ...

  7. 去重算法,简单粗暴&优化版

    Remove Repeat 一.去重原理 1.进行排序 2.判断是否满足 '两个字符串相同' 的条件,相同则累加重复次数,并使用continue继续下一次循环 3.当条件不满足时,将该字符串和累计数加 ...

  8. PHP 在Swoole中使用双IoC容器实现无污染的依赖注入

    简介: 容器(container)技术(可以理解为全局的工厂方法), 已经是现代项目的标配. 基于容器, 可以进一步实现控制反转, 依赖注入. Laravel 的巨大成功就是构建在它非常强大的IoC容 ...

  9. SQL的四种连接(左外连接、右外连接、内连接、全连接)

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  10. opencv HSV找颜色,找轮廓用最小旋转矩形框出

    #include <opencv2/opencv.hpp> #include<iostream> #include<string> using namespace ...