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. 用初中数学知识撸一个canvas环形进度条

    周末好,今天给大家带来一款接地气的环形进度条组件vue-awesome-progress.近日被设计小姐姐要求实现这么一个环形进度条效果,大体由四部分组成,分别是底色圆环,进度弧,环内文字,进度圆点. ...

  2. OPTIONS 请求引发的分析

    阅读提纲: 为什么会出现 OPTIONS 请求? 什么情况下会出现 OPTIONS 请求? OPTIONS 请求会发送什么内容? 跨域前端访问后端时,所有的 Ajax HTTP 请求都会先发送一个 O ...

  3. FastJson稍微使用不当就会导致StackOverflow

    GitHub 9.4k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 9.4k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 9.4k Star 的 ...

  4. windows下离线安装mysql8.0服务(支持多个安装,端口不同就可以)

      1.官网下载 mysql文件.官网下载链接:https://dev.mysql.com/downloads/mysql/ 选择mysql下载的系统版本. 此处可以下载MSI安装包,图简单的朋友可以 ...

  5. 『题解』Codeforces446C DZY Loves Fibonacci Numbers

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description In mathematical terms, the sequence \( ...

  6. Subline Text3最新激活方法解决 That license key doesn't appear to be valid.

    第一步: 管理员身份登录系统 第二步: 进入到 C:\Windows\System32\drivers\etc (这个路径可以复制,都是一样的) 第三步: 右键hosts这个文件(打开方式 - 选择记 ...

  7. html5不能播放视频的方法

    html5不能播放视频的方法H5不能播放视频的方法 格式工厂转换成 AVC 注意音频流 采样率和比特率 设置低一点 不然播放会卡住 还有点击播放必须要click 不要用touchstart没效果的

  8. Nginx使用反向代理实现负载均衡

    Nginx使用反向代理实现负载均衡 yls 2019-9-20 简介 基于docker容器以及docker-compose,所以需要自学docker在linux环境的基本使用 使用两个tomcat作为 ...

  9. 【Linux系列】Centos 7安装以及网络配置(一)

    目的 本文主要介绍以下两点: 一. 如何在Oracle VM VirtualBox安装centos(已有VirtualBox) 二. 如何在内网里实现虚拟机访问外网.物理主机以及物理主机访问虚拟机 一 ...

  10. leetcode算法笔记:二叉树,动态规划和回溯法

    在二叉树中增加一行 题目描述 给定一个二叉树,根节点为第1层,深度为 1.在其第 d 层追加一行值为 v 的节点. 添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N, ...