registry --------->仓库 ----------------->镜像
  
  本地镜像都保存在宿主机下 :
  
  /var/lib/docker/containers
  
  镜像从仓库下载下来.镜像保存在仓库中,而仓库存在于Registry中.
  
  Docker Hub 中有两种类型的仓库:
  
  用户库:
  
  用户仓库的镜像都是有docker用户创建的;
  
  用户仓库的命名由用户名和仓库名两部分组成,如scrapinghub/splash
  
  顶层仓库
  
  顶层仓库则是由docker内部人员来管理的;
  
  顶层仓库只包含仓库名的部分,如centos仓库.
  
  顶层仓库中的镜像时架构良好,安全且是最新的.
  
  用do…
  
  docker使用
  
  1.拉取镜像
  
  docker pull centos
  
  1
  
  2.从centos镜像 创建一个容器
  
  docker run -i -t centos /bin/bash
  
  1
  
  3.用Dockerfile构建镜像
  
  创建一个包含Dockerfile文件,Docker在创建镜像构建上下文,并将该文件所在目录下的所有文件上传到docker守护进程.
  
  touch /root/docker_demo/Dockerfile
  
  1
  
  构建镜像的执行流程:
  
  Docker从基础镜像运行一个容器
  
  执行一条指令,对容器做出修改
  
  执行类似 docker commit的操作,提交一个新的镜像层
  
  Docer再基于刚提交的镜像运行一个容器
  
  执行Dockerfile中的下一条指令,直到所有指令都执行完毕
  
  # 示例
  
  # version: 0.0.1
  
  # 每条指令必须大写如FROM
  
  # 执行顺序从上到下执行
  
  # 每条指令都会创建一个新的镜像并对镜像进行提交
  
  FROM ubuntu:14.04 # 第一条指令都应该是FROM,FROM指令指定一个已经存在的镜像,后续指令都基于该镜像进行,这个镜像称为基础镜像
  
  #MAINTAINER James Turnbull "www.gcyl152.com james@example.com" #指定该镜像的作者是谁,以及邮件地址
  
  RUN apt-get update #在当前镜像中运行指定命令,跟新仓库
  
  RUN apt-get install -y nginx www.michenggw.com # 当前镜像中安装nginx
  
  #RUN echo "Hi,I am www.meiwanyule.cn in your container' /usr/share/nignx/html/index.html # 创建html文件
  
  EXPOSE 80 # 告诉Docker该容器内的应用程序将会使用容器的指定端口80,可以指定多个EXPOSE指令 来向外部公开多个端口
  
  # EXPOSE 指令可以用来帮助多个容器链接

  
  根据Dockerfile构建镜像
  
  docker build -t='psd/test:v1' . # -t设置仓库 名字和名称 v1 为标签
  
  1
  
  Docker Image的发布
  
  方法1 Save Image To TarBall 保存为tar包
  
  docker save to -o centos-myname-nginx.tar centos:nginx
  
  # centos-myname-nginx.tar表示导出镜像的名字
  
  # centos:nginx 表示原来镜像的名字
  
  docker load -i centos-myname-nginx.tar # 表示导入本地镜像

  
  方法2 Push Image To Docker Hub
  
  # 步骤1:注册一个账号 https://hub.docker.com/
  
  # 步骤2:登录
  
  docker login -u userabc -p abc-123 -e userab@gmail.com # -u 用户名 -p 密码 -e 电子邮件
  
  # 步骤3:上传镜像
  
  docker pysh centos:nginx
  
  # 步骤4:下载镜像
  
  docker pull userabc/centos:nginx
  

  
  docker run -d -p 80:80 userabc/centos /bin/bash -c /usr/local/bin/star.sh # -p 物理机的80端口:容器的实例的80,
  

registry --------->仓库 ----------------->镜像的更多相关文章

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

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

  2. 搭建docker registry私有镜像仓库

    搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...

  3. Docker——Registry 通过Shell管理私有仓库镜像

    使用方法: 复制代码保存为 image_registry.sh sh image_registry.sh  -h   #查看帮助 HUB=10.0.29.104:5000 改为自己的地址 #!/bin ...

  4. harbor仓库镜像的删除

    harbor仓库镜像的删除 刚开始自己摸索了下,直接webui界面删除后,发现仓库空间未释放 上传之前仓库空间占用为 上传之后仓库空间占用为 在webui界面上删除镜像后 查看大小 依旧为286m,到 ...

  5. Harbor安装 -- 企业级Registry仓库

    (一)Harbor安装 -- 企业级Registry仓库 以下文章转自http://www.jianshu.com/p/2ebadd9a323d 根据Harbor官方描述: Harbor是一个用于存储 ...

  6. Docker删除私有仓库镜像

    V2 安装删除脚本 # curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/dele ...

  7. Docker Registry 管理镜像

    一.使用Docker Registry管理镜像 a.登陆docker hub  https://www.docker.com/products/docker-hub b.创建仓库 c.推送镜像   打 ...

  8. 命令行获取docker远程仓库镜像列表

    命令行获取docker远程仓库镜像列表 获取思路 通过curl获取镜像tag的json串,解析后得到${image}:${tag}的格式 curl获取示例 # curl [:-s] ${API}/${ ...

  9. 企业级Registry仓库Harbor的部署与简介

    Harbor 是Vmware公司开源的企业级Docker Registry管理项目,开源项目地址:https://github.com/vmware/harbor Harbor的所有组件都在Docke ...

随机推荐

  1. HashMap的使用

    HashMap的使用 import java.util.HashMap; import java.util.Iterator; //HashMap<key, value>():键值对的形式 ...

  2. 安装阿里云版Linux云服务器,配置软件

    1.  购买域名 2.  购买云服务器ecs 3.  远程访问云服务器并装上Java环境和必备软件 3.1安装远程访问工具 3.2 jdk环境配置 3.3 Mysql依赖关系 重新配置MySQL的远程 ...

  3. .NET 客户IP地址捕捉

    MVC模式下要获取客户IP可以在ActionFilterAttribute中进行拦截 filterContext.HttpContext.Request.UserHostAddress 同样,在Web ...

  4. FreeBSD--常用命令

    FreeBSD常用命令   查看网络流量 a.systat -if 1 (1表示1s刷新屏幕一次) b.netstat 1 # Traffic 流量 peak 峰值 average 平均值 查看进程p ...

  5. JDK5 新特性

     JDK5新特性目录导航: 自动拆装箱 Foreach 静态导入 可变参数 Var args 枚举 格式化输出 泛型 ProcessBuilder 内省 线程并发库(JUC) 监控和管理虚拟机 元数据 ...

  6. 中通快递股份有限公司.net高级面试题

    中通快递分布式技术开发   gc垃圾回收原理 .net中,托管代码的内存管理是自动的,由GC进行管理,而对于非托管代码,则需要.net手动处理 CLR运行时,内存分为:托管堆和栈,其中栈用于存储值类型 ...

  7. 【Effective C++ 读书笔记】条款04:确定对象使用前已先被初始化

    永远在使用对象之前先将它初始化.对于无任何成员的内置类型,你必须手工完成此事. 至于内置类型以外的任何其他东西,初始化责任落在构造函数身上.规则很简单:确保每一个构造函数都将对象的每一个成员初始化. ...

  8. 海康威视面试python后端题

    1. 请简述三次握手和四次挥手: 答:首先TCP是传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接,在建立TCP连接时,需要客户端和服务器总共发送3个包. 三次握手的目的是连接服务器的指 ...

  9. C语言进阶——有符号与无符号02

    在计算机的内部,我们所有的信息都是由二进制数字组成的 有符号数的表实法: 在计算机内部用补码的方式表实有符号数 正数的补码位正数的本身 负数的补码为其绝对值取反然后加一得到 例如-7 他在计算机内部的 ...

  10. 栈--数据结构与算法Javascript描述(4)

    栈 Stack 概念 栈是一种高效的数据结构,数据只能在栈顶添加或者删除,所以这样的操作很快,而且容易实现.栈的使用遍布程序语言的方方面面,从表达式求值到处理函数调用. 栈是一种特殊的列表,栈内的元素 ...