一、仓库概述

  • 仓库(Repository)Docker仓库主要用于镜像的存储,它是镜像分发、部署的关键。仓库分为公共仓库和私有仓库。
  • 注册服务器(Registry)和仓库区别注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)
  • 官方的公用仓库Docker Hub:如果仅仅是搜索和使用Docker Hub的公共镜像,不需要Docker Hub账户就可以直接操作。如果要上传和分享我们自己创建的镜像,就需要Docker Hub账户。注:注册账户需要借助翻墙工具

二、仓库管理

、注册账号
https://hub.docker.com/ #在此页面注册账号,需要用户名,邮箱,密码(注:需要翻墙才能注册,注册通过邮箱激活后可以通过网页登陆)
、登陆docker hub
root@localhost ~]# docker login
#Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: *******
Password:
Login Succeeded
、查找镜像 #可参考https://www.cnblogs.com/yangleitao/p/9683104.html
[root@localhost ~]# docker search centos #可以加上版本号
、下载镜像
[root@localhost ~]# docker pull centos
、上传镜像
#我们可以把自己的镜像传到docker hub官网上,前提是已经注册了账号
[root@localhost ~]# docker push image_name

三、搭建私有仓库

、使用registry镜像创建私有仓库
[root@localhost ~]# docker search registry
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
registry The Docker Registry 2.0 implementation for s… [OK]
[root@localhost ~]# docker pull registry #直接下载镜像
[root@localhost ~]# docker images #查看新下载的镜像 、
[root@localhost ~]# mkdir -p /data/registry/ #创建一个本地目录,等一下挂载
[root@localhost ~]#
[root@localhost ~]# docker run -d -p : -v /data/registry/:/tmp/registry registry
599c0e1a298f5e7a19b9ba01ff314c3e3a26a22b3cba1e6800e21ffb54c8e9d5
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
599c0e1a298f registry "/entrypoint.sh /etc…" seconds ago Up seconds 0.0.0.0:->/tcp vibrant_engelbart
17c54a92a4e8 ubuntu:latest "/bin/bash" days ago Up days quizzical_bhabha
[root@localhost ~]#

-d : 后台运行

-p : 宿主机跟容器映射端口 SERVER_PORT:CONTAINER_PORT

-v : 挂载宿主机目录到容器中作为数据卷, docker registry上传镜像默认存放到容器/var/lib/registry,将本地/data/registry目录挂载到容器中,避免删除容器是数据丢失

、管理私有仓库
[root@localhost ~]# docker run -d -p : registry
19003703c71307603cdb48fab242c96dc34c0e37f0dcfe2e568658abbea40557
[root@localhost ~]# ps -aux|grep docker [root@localhost ~]# docker push 192.168.19.130:/test
报如下错:
The push refers to a repository [192.168.19.130:/test]
Get https://192.168.19.130:5000/v1/_ping: dial tcp 192.168.19.130:5000: getsockopt: connection refused
解决办法:
a,执行
echo '{ "insecure-registries":["192.168.19.130:5000"] }' >> /etc/docker/daemon.json #或者直接修改配置文件
b, 重启docker client的docker 服务 [root@localhost ~]# systemctl restart docker #如果容器没有开启也会报错
[root@localhost ~]# docker push 192.168.19.130:/test1 #再次上传成功
The push refers to repository [192.168.19.130:/test1]
8d7ea83e3c62: Pushed
6a061ee02432: Pushed
f73b2816c52a: Pushed
6267b420796f: Pushed
a30b835850bf: Pushed
latest: digest: sha256:a819482773d99bbbb570626b6101fa37cd93a678581ee564e89feae903c95f20 size: [root@localhost ~]# curl -XGET http://192.168.19.130:5000/v2/_catalog
{"repositories":["test","test1"]} [root@localhost ~]# curl -XGET http://192.168.19.130:5000/v2/test1/tags/list
{"name":"test1","tags":["latest"]}
[root@localhost ~]#

【Docker】第四篇 Docker仓库管理的更多相关文章

  1. docker 第四篇 网络

    安装docker以后自动添加三种网络方式 bridge: 表示桥接网络 (在本地自动创建一个软交换机) host: 表示让容器使用宿主机的网络名称空间 none: 表示没有网络 不能执行网络通信. 创 ...

  2. [第十四篇]——Docker Machine之Spring Cloud直播商城 b2b2c电子商务技术总结

    Docker Machine 简介 Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机. Docker Mac ...

  3. Docker:四、Docker进阶 Windows Docker IIS 部署

    前面的三篇docker 文档大家看的肯定不过瘾,自己可能也已经上手一试了...不知道有没有发现问题... 哈哈... 我来说说我遇到的问题哦 一.windows docker 镜像越来越大 默认的do ...

  4. Docker系列(四):Docker容器互联

    基于Volume的互联 为什么需要Volume docker文件系统是分层的,下面的是全部是只读的,最上面的是可写层,容器中的进程如果修改了某个文件,比如修改了下层的某个文件,其实是在最顶层复制下层文 ...

  5. 【Docker】第一篇 Docker的初始化安装部署

    一.Docker基础 Dacker倡导的理念:一个容器一个进程 Docker的版本了解: Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人 ...

  6. docker系列四之docker镜像与容器的常用命令

    docker镜像与容器的常用命令 一.概述   docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人 ...

  7. 【Docker】第二篇 Docker镜像管理

    一.搜索镜像 1.下载一个docker镜像:我们可以通过登陆docker网站搜索自己需要的镜像,可以选择自己所需要的版本,然后通过详情也可以看到:网址:https://hub.docker.com/2 ...

  8. Docker实战(四)之Docker数据管理

    在生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及到容器的数据管理操作. 容器中管理数据主要有两种形式: 数据卷:容器内数据直接映射到本地主 ...

  9. Docker应用四:搭建docker镜像仓库(包括自生成https证书、登陆认证)

    利用docker官网提供的registry镜像创建私有仓库 一.首先从docker官网拉取registry镜像: docker pull registry 二.然后运行该镜像: docker run ...

随机推荐

  1. [国家集训队]小Z的袜子

    嘟嘟嘟 一眼就知道是莫队. 还不带修改,美滋滋. 按莫队的方法排序,然后用小学数学算一下概率,分子分母单独维护. #include<cstdio> #include<iostream ...

  2. 浅谈IC行业产业链以及贸易商在产业链中的作用  2008-10-16 12:45[转自Michael的博客]

    随着集成电路行业在中国的迅猛发展, 中国的低成本劳动力和开放的引入外资政策, 使得全球电子产品生产厂商为了降低成本, 增加产品市场竞争力, 纷纷在中国设立生产线, 而中国不断膨胀的购买力也促进了这一产 ...

  3. ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1498], [18713], [18720]

    数据库server出现ORA-00600[kcratr_nab_less_than_odr].不能open数据库 1.open数据库报ORA-00600[kcratr_nab_less_than_od ...

  4. C++标准转换运算符dynamic_cast

    dynamic_cast <new_type> (expression) dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的 ...

  5. 基于Jq的手写插件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. Bootstrap02

    Bootstrap02_内容概述 一.排版样式  (下面示例*代表class) 1.段落突出 *=lead <p>山外有山,<span class="lead"& ...

  7. 基于VHDL的8255可编程并行接口电路设计

    一.实验题目名称: 8255可编程并行接口电路设计 二.实验目的.任务和要求: 实验目的:学习掌握基本的数字系统设计方法,建立自顶向下的设计思维,能够使用VHDL语言编写简单的应用IP核,掌握基本的F ...

  8. 使用promis串行化异步操作

    该代码可在chrome下运行,对于低版本浏览器可以引入Q库 function async1() { var defer = Promise.defer() setTimeout(function(){ ...

  9. 大数据入门第二天——基础部分之zookeeper(上)

    一.概述 1.是什么? 根据凡技术必登其官网的原则,我们先去官网瞅一瞅:http://zookeeper.apache.org/ Apache ZooKeeper is an effort to de ...

  10. 【BZOJ1051】[HAOI2006]受欢迎的牛

    [BZOJ1051][HAOI2006]受欢迎的牛 题面 bzoj 洛谷 题解 假如\(A\)喜欢\(B\)就连一条\(A\)到\(B\)的边 然后缩点,如果图不连通就\(Impossible\) 否 ...