1、docker image 镜像

容器的基石
层叠的只读文件系统
联合加载(union mount)
 
2、镜像存储地址
/var/lib/docker
3、镜像操作
列出镜像
镜像标签和仓库
查看镜像
删除镜像
1)列出镜像
$docker images [OPTSIONS] [REPOSITORY]
-a, --all=false 显示所有镜像
-f, --filter=[] 显示时的过滤条件
--no-trunc = false 不使用截断的模式显示数据
-q, --quiet = false 只现实veid
[root@text3 ~]# docker images

REPOSITORY          TAG              IMAGE ID           CREATED           VIRTUAL SIZE

centos         latest              eeb3a076a0be        10 hours ago         196.7 MB

ubuntu               latest              ab035c88d533        2 weeks ago          187.9 MB

2)镜像仓库和标签
镜像
REPOSITORY 仓库(包含一个一个独立的镜像)
REGISTRY 仓库
标签
TAG
ubuntu:14:04
ubuntu:latest(如果镜像没有标签名,默认使用latest)
3)查看镜像
$docker inspect [OPTIONS] CONTAINER | IMAGE [CONTAINER | IMAGE…]
-f, --format = “”
[root@text3 ~]# docker inspect centos
 
4)删除镜像
$docker rmi [OPTIONS] IMAGE [IMAGE…]
-f,  --format = false Force removal of the image
—no-prune = false Donot delete untagged parents
[root@text3 ~]# docker rmi $(docker images -q ubuntu) 删除所有ubuntu镜像
 
 
获取和推送镜像
查找镜像
拉取镜像
推送镜像
 
1)查找镜像
方法一:Docker Hub
https://registry.hub.docker.com
方法二:$docker search [OPTIONS] TERM
--automated = false Only show automated builds
--no-trunc = false Don’t truncate output
--s, —stars = 0 Only displays with at least x stars
最多返回25个结果
2)拉取镜像
方法一:$docker pull [OPTIONS] NAME [:TAG]
-a, --all-tags=false  Download all tagged images in the repository
 
方法二:使用 —registry-mirror 选项
1、修改:/etc/default/docker
2、添加:DOCKER_OPTS = “--registry-mirror=http://MIRROR_ADDR"
https://www.daocloud.io
3)推送镜像
$docker push NAME [:TAG]
docker push dormancypress/nginx
 
构建镜像
$docker commit 通过容器构建镜像
$docker build 通过Dockerfile文件构建
1)使用commit构建镜像
$docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a, —author = “” Author
e.g.,”John Hannibal Smith hannibal@a-team.com”
-m, —message = “” Commit message
-p, —pause = true Pause container during commit
例:

[root@text3 ~]# docker commit -a 'Tale' -m 'nginx' commit_test dormancypress/commit_test1 构造镜像

84daaea3c4fa276f777af22efaeadc65490124dc356c5219d5e7cf57554ad49a

[root@text3 ~]# docker run -d -p 80 --name nginx_web1 dormancypress/commit_test1 nginx -g "daemon off;” 用构造的镜像生成容器

e887d27c3cd3ea342de3b21e4c233a14bfdb80675644e15de87967651c05c4e6

2)使用Dockerfile构建镜像
1、创建Dockerfile
例:
  #First dockerfile for test
  FROM ubuntu
  MAINTAINER dormancypress "k.guogao@outlook.com"
  RUN apt-get update
  RUN apt-get -y install nginx
  EXPOSE 80
2、使用$docker build命令
$ docker build -t="dormanctpress/df_test” .
 
 
 
 
 
 

docker镜像与仓库的更多相关文章

  1. 第四章 使用Docker镜像和仓库(二)

    第四章 使用Docker镜像和仓库(二) 回顾: 开始学习之前,我先pull下来ubuntu和fedora镜像 [#9#cloudsoar@cloudsoar-virtual-machine ~]$s ...

  2. 第四章 使用Docker镜像和仓库

    第4章 使用Docker镜像和仓库 回顾: 回顾如何使用 docker run 创建最基本的容器 $sudo docker run -i -t --name another_container_mum ...

  3. Docker镜像与仓库(一)

    Docker镜像与仓库(一) Docker镜像与仓库(一) 如何查找镜像? Docker Hub https://registry.hub.docker.com docker search [OPTI ...

  4. 04_Docker入门(下)之docker镜像和仓库的使用

    docker镜像和仓库 镜像介绍 docker镜像是由文件系统叠加而成的.最低端是一个引导文件系统,即bootfs.当一个容器启动后,它会将被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存以 ...

  5. Docker之- 使用Docker 镜像和仓库

    目录 使用Docker 镜像和仓库 什么是 Docker 镜像 列出 Docker 镜像 tag 标签 Docker Hub 拉取镜像 查找镜像 构建镜像 创建Docker Hub 账号 使用 Doc ...

  6. docker镜像的仓库

    一.docker镜像的仓库 --- repos-registry的创建: 仓库分为公共仓库和私有仓库 DockerHub的官方仓库 https://hub.docker.com DockerPool社 ...

  7. Docker镜像的仓库及底层依赖的核心技术(3)

    一.docker镜像的仓库 仓库分为公共仓库和私有仓库 DockerHub的官方仓库:https://hub.docker.com DockerPool社区仓库:https://dl.dockerpo ...

  8. 《第一本docker书》第4章 使用docker镜像和仓库 读书笔记

    docker最底端是一个引导文件系统,即bootfs. 第二层是root文件系统rootfs,位于引导文件系统之上. 在传统的Linux引导过程中,root文件系统会最先以只读的方式加载,当引导结束并 ...

  9. Docker镜像与仓库(二)Dockerfile

    Docker镜像文件与仓库(二) Docker镜像文件与仓库(二) Dockerfile指令 Dockerfile格式: 1.#Comment注释2.INSTRUCTION大写的指令名 argumen ...

随机推荐

  1. 关于安卓启动eclipse错误:找不到元素‘d:devices'的声明

    可以把C:\Documents and Settings\Administrator\.android\devices.xml这个文件删除, 再把sdk里面tools\lib下的这个文件拷贝到你删除的 ...

  2. js事件冒泡原理及处理

    事件从根节点开始,逐级派送到子节点,若节点绑定了事件动作,则执行动作,然后继续走,这个阶段称为“捕获阶段(Capture)”:执行完捕获阶段后,事件由子节点往根节点派送,若节点绑定了事件动作,则执行动 ...

  3. 简单学C——第六天

    指针    指针是c语言中很灵活的一个内容,当然,灵活的都是较难掌握的.不过,只要理解其实质,学习,运用指针还是一件很轻松的事情的. 首先理解,1.什么是指针? 在c语言中,指针也同Int ,doub ...

  4. C语言中”#x“的含义

    #x 的含义是给x添加“”,也就是说将字符常量.常量转换为字符串常量

  5. 学习Swift -- 可选链

    可空链式调用 可空链式调用是一种可以请求和调用属性.方法及下标的过程,它的可空性体现于请求或调用的目标当前可能为空(nil).如果可空的目标有值,那么调用就会成功:如果选择的目标为空(nil),那么这 ...

  6. Label设置行间距--b

    内容摘要 UILabel显示多行文本 UILabel设置行间距 解决单行文本 & 多行文本显示的问题 场景描述 众所周知,UILabel显示多行的话,默认行间距为0,但实际开发中,如果显示多行 ...

  7. JSP中两种模式的总结

    运用JSP/Servlet实现的Web动态交互,主要采用: 模式一:JSP+JavaBean 链接:http://wxmimperio.coding.io/?p=155 模式二;JSP+Servlet ...

  8. VC下Debug和Release区别

    整理日: 2015年3月23日 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到 ...

  9. liveReload

    依赖条件: 1.安装liveReload浏览器插件: http://livereload.com/extensions/ chrome可以直接去在线商店安装liveReload. P.S.也可以贴代码 ...

  10. Data guard RAC配置【二】

    2. 利用duplicate配置容灾端 1.配置容灾端oracle用户的环境变量,这里以192.166.1.61为例. export ORACLE_BASE=/opt/oracle export OR ...