仓库(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. 多线程(3)ThreadPool

    使用Thread类已经可以创建并启动线程了,但是随着开启的线程越来越多,线程的创建和终止都需要手动操作,非常繁琐,另一个问题是,开启更多新的线程但是没有用的线程没有及时得到终止的时候,会占用越来越多的 ...

  2. CSS宽高背景介绍

    本萌新还未毕业,在一家外包公司干了一个月,因烦恼日常琐事任务,深感外包之坑,以及上班路途艰辛,特转战erp实施,继写日常随笔,望来日屌丝逆袭,走上人生巅峰. 若有错误,请前辈指点迷津,在下谢过. &l ...

  3. CSS变量(自定义属性)实践指南

    本文翻译自:https://www.sitepoint.com/practical-guide-css-variables-custom-properties/ 转载请注明出处:葡萄城官网,葡萄城为开 ...

  4. Android EditText常用属性

    一.EditText介绍 ①EditText是一个输入框,在Android开发中是常用的控件.也是获取用户数据的一种方式. ②EditText是TextView的子类,它继承了TextView的所有属 ...

  5. ServiceHub.DataWarehouseHost.exe内存泄漏问题的处理

    Visual Studio 2017的15.2版本在debug应用程序时,ServiceHub.DataWarehouseHost.exe会出现严重的内存泄漏的问题,一个小时左右,内存耗了将近8GB. ...

  6. 版本控制工具(SVN/Git)介绍

    文章大纲 一.SVN介绍二.Git介绍三.IDEA使用SVN和Git四.总结五.参考文章   一.SVN介绍 1. SVN服务器搭建和使用 首先来下载和搭建SVN服务器,下载地址如下: http:// ...

  7. QT多线程的使用

    今天给大家介绍三种QT里面使用多线程的方法 1.继承QThread并且重写run方法来实现多线程 #ifndef MYQTHREAD_H #define MYQTHREAD_H #include &l ...

  8. Cygwin 编译 ffmpeg

    1.在官网下载linux下的压缩包 https://ffmpeg.zeranoe.com/builds/source/ffmpeg/ffmpeg-3.2.4.tar.xz 2.进入cygwin,假定将 ...

  9. Can't create/write to file '/tmp/MLjnvU95' (Errcode: 13 - Permission denied)

    今天一个同事反馈往一个MySQL数据库导入数据时,报"ERROR 1 (HY000): Can't create/write to file '/tmp/MLjnvU95' (Errcode ...

  10. js学习之路2: JavaScript 变量

    1. 变量的创建 首先,可以创建一个变量 var firstVar; 这时候,并没有给它赋值.这个变量还是空的. 然后,我们可以给这个变量赋值. firstVar = 128: 2. 变量的赋值 变量 ...