registry --------->仓库 ----------------->镜像
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 --------->仓库 ----------------->镜像的更多相关文章
- Docker registry 私有仓库镜像查询、删除、上传、下载 shell
#Docker官方私有仓库registry #官方只提供了API接口,不方便使用,就写了个shell #docker-registry安装配置http://www.cnblogs.com/elvi/p ...
- 搭建docker registry私有镜像仓库
搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...
- Docker——Registry 通过Shell管理私有仓库镜像
使用方法: 复制代码保存为 image_registry.sh sh image_registry.sh -h #查看帮助 HUB=10.0.29.104:5000 改为自己的地址 #!/bin ...
- harbor仓库镜像的删除
harbor仓库镜像的删除 刚开始自己摸索了下,直接webui界面删除后,发现仓库空间未释放 上传之前仓库空间占用为 上传之后仓库空间占用为 在webui界面上删除镜像后 查看大小 依旧为286m,到 ...
- Harbor安装 -- 企业级Registry仓库
(一)Harbor安装 -- 企业级Registry仓库 以下文章转自http://www.jianshu.com/p/2ebadd9a323d 根据Harbor官方描述: Harbor是一个用于存储 ...
- Docker删除私有仓库镜像
V2 安装删除脚本 # curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/dele ...
- Docker Registry 管理镜像
一.使用Docker Registry管理镜像 a.登陆docker hub https://www.docker.com/products/docker-hub b.创建仓库 c.推送镜像 打 ...
- 命令行获取docker远程仓库镜像列表
命令行获取docker远程仓库镜像列表 获取思路 通过curl获取镜像tag的json串,解析后得到${image}:${tag}的格式 curl获取示例 # curl [:-s] ${API}/${ ...
- 企业级Registry仓库Harbor的部署与简介
Harbor 是Vmware公司开源的企业级Docker Registry管理项目,开源项目地址:https://github.com/vmware/harbor Harbor的所有组件都在Docke ...
随机推荐
- iOS 多线程 之 GCD(大中枢派发)(二)
本文接着上一篇讲.主要讲:dispatch_source. dispatch_source主要用户监听事件,可以监听如下事件 DISPATCH_SOURCE_TYPE_DATA_ADD DISPATC ...
- Mybatis-数据插入
传统jdbc数据插入 1.在Java代码for循环插入 executeUpdate() 2.批处理方法addBatch(Statement.Prestatement) addBatch() execu ...
- 课时68.id选择器(掌握)
1.什么是id选择器? 作用:根据指定的id名称找到对应的标签,然后设置属性 格式: #id名称{ 属性:值; } 注意点: 1.每个html标签都有一个属性叫做id,也就是说每个标签都可以设置id ...
- 一个简单的WPF MVVM实例【转载】
引用地址:http://blog.csdn.net/yl2isoft/article/details/20838149 1 新建WPF 应用程序WPFMVVMExample 程序结构如下图所示. 2 ...
- C语言实例解析精粹学习笔记——28
实例28:从键盘读入实数 题目要求: 编制一个从键盘读入实数的函数readreal(double *rp).函数将读入的实数字符列转换成实数后,利用指针参数rp,将实数存于指针所指向的变量*rp. 思 ...
- Makefile (3) 基本语法和使用
make是用来管理一个工程项目的工具 . Makefile就是这个项目文件 . 1.Makefile 是由若干条规则组成的,每个规则的语法如下所示 : #规则 targets: prerequisit ...
- P1282
题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点.现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|.例如在图8-1中,S1=6+1+1+1=9, ...
- 陌生又熟悉的数据库之ID增加
当我们设计一张表时,通常为了保证记录的唯一性,会为表增加一个ID字段,生成记录时ID自动加一
- django-mysqlclient_1193错误
Django 配置 mysqlclient 驱动 1193错误 错误描述: django.db.utils.OperationalError: (1193, "Unknown system ...
- perl语言入门总结-第3章-列表与数组
1-列表list指的是标题的有序集合, 而数组(array)则是存储列表的变量. 更精确地说,列表指的是数据,而数组指的是变量. 访问数组中的元素 ] = "yabba"; ] = ...