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

1、Docker Hub公共镜像市场

目前Docker官方维护了一个公共镜像仓库http://hub.docker.com,大部分镜像都可以通过该网站进行下载。

(1)、登录

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

(2)、基本操作

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

2、时速云镜像市场(略)

3、搭建本地私有仓库

(1)、安装docker后,可以通过官网提供的registry镜像来简单搭建一套本地私有仓库环境:

docker run -d -p : registry

这将自动下载并启动一个register容器,创建本地的私有仓库。默认情况下,会将仓库创建在容器的/tmp/registry目录下。可以通过-v参数来将镜像文件放在本地的指定路径。例如下面的例子将上传的镜像放到/opt/data/register目录:

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

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

(2)、管理私有仓库

搭建好仓库之后,查看其地址为:172.16.0.79(docker宿主机的ip):5000。然后在虚拟机系统里测试上传和下载的镜像。

查看已有镜像:

使用docker tag 命令将镜像ubuntu:1.0标记为172.16.0.79:5000/test

使用docker push上传镜像

报错:

The push refers to a repository [172.16.0.79:5000/test]
Get https://172.16.0.79:5000/v1/_ping: http: server gave HTTP response to HTTPS client

解决:在/etc/docker/路径下添加文件daemon.json

echo '{ "insecure-registries":["172.16.0.79:5000"] }' > /etc/docker/daemon.json

然后:systemctl restart docker

再次上传:

报错:(可能是容器registry没有启动)

The push refers to a repository [172.16.0.79:5000/test]
Put http://172.16.0.79:5000/v1/repositories/test/: dial tcp 172.16.0.79:5000: getsockopt: connection refused

解决:docker start be0d898caf02

再次上传:

查看仓库中的镜像:

curl -XGET http://172.16.0.79:5000/v2/_catalog
或者
curl -XGET http://172.16.0.79:5000/v2/test/tags/list

从私有仓库下载镜像:

docker pull 172.16.0.79:/test

访问docker仓库的更多相关文章

  1. Docker实战(三)之访问Docker仓库

    仓库是集中存放镜像的地方,分为公共仓库和私有仓库.一个容易与之混肴的概念是注册服务器.实际上注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像.从这方面来说 ...

  2. window10 Docker仓库访问

    window10 Docker仓库访问 docer官网 docker仓库 windown10 安装docker可以参考 window10安装docker 配置了加速器以后还访问不了,点击托盘处dock ...

  3. 试用 Nexus OSS 3.0 的docker仓库 (二)

    试用 Nexus OSS 3.0 的docker仓库 (一) : http://www.cnblogs.com/wzy5223/p/5410990.html 三. 创建docker私有仓库,docke ...

  4. 试用 Nexus OSS 3.0 的docker仓库 (一)

    Nexus 3.0 可以创建三种docker仓库: 1. docker (proxy)      代理和缓存远程仓库 ,只能pull 2. docker (hosted)    托管仓库 ,私有仓库, ...

  5. 使用 Nexus Repository Manager 搭建私有docker仓库

    使用容器安装Nexus3 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d --name nexus  -- ...

  6. Docker仓库

    仓库是集中存放镜像文件的场所.有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分.实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(t ...

  7. 搭建Harbor企业级docker仓库

    搭建Harbor企业级docker仓库 一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如 ...

  8. docker+Nexus Repository Manager 搭建私有docker仓库

    使用容器安装Nexus3 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d -p 8081:8081 -p ...

  9. FW 配置一个私有的Docker仓库

    思维 66 3月1日 发布 建分支 0 分支 收藏 0 收藏 我们在本地开发时,如果内网能部署一台Docker服务器,无疑会极大的方便镜像的分享发布,有些私有镜像就是可以直接放到内网服务器上,省去了不 ...

随机推荐

  1. 浅谈Java虚拟机内存中的对象创建,内存布局,访问定位

    参考于 深入理解Java虚拟机 这里介绍HotSpot虚拟机(自带的虚拟机) 1.对象的创建 对于程序员来说,创建对象的方法: User user1 = new User(); User user2 ...

  2. laravel5集成支付宝alipay扫码支付流程(Laravel 支付解决方案)

    首先我们来探讨如何在Laravel应用中使用支付宝进行支付,对此,GitHub上有很多相关的包,其中最流行的两个包:Omnipay For Laravel 5 & Lumen 和 Larave ...

  3. 广州.NET微软技术俱乐部微信群各位技术大牛的blog

    1. .net core和微服务领域的张善友张队长和马洪喜,证明了.net core和微服务已经在各方面都不比java差2. Xamarin的卢建晖,证明了.net在移动开发领域也是很牛的.3. wi ...

  4. KeePass全网最详使用指南

    从入门到熟练:KeePass全网最详使用指南 https://post.smzdm.com/p/713042/

  5. MySQL 处理海量数据时的一些优化查询速度方法

    查询速度慢的原因 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O 吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6 ...

  6. C#开发WEBService服务 C++开发客户端调用WEBService服务

    编写WEBService服务端应用程序并部署 http://blog.csdn.net/u011835515/article/details/47615425 编写调用WEBService的C++客户 ...

  7. Ehcache入门经典:第二篇ehcache.xml的参数

    继续第一篇 diskStorepath:指定在硬盘上存储对象的路径path属性可以配置的目录有: user.home(用户的家目录) user.dir(用户当前的工作目录) java.io.tmpdi ...

  8. SQLServer查询计划

    参考:http://blog.csdn.net/luoyanqing119/article/details/17022649 1. 开启方式 菜单栏:query---Display Estimated ...

  9. 关于联想笔记本ThinkPad E470 没有外音 插耳机却有声音的解决办法

    碰到这种情况,小编和大家一样选择设备管理器,找到声卡驱动卸载重新装,结果很失望,选择驱动精灵/联想驱动重装声卡,结果很绝望.并没有解决问题. 最后小编参考了一篇文章找到了解决办法 到联想官方网站服务界 ...

  10. requests模块

    import requests url='https://www.cnblogs.com/Eva-J/p/7277026.html' get = requests.get(url) print(get ...