Docker镜像是一个只读的docker容器的模版,含有启动docker容器所需的文件系统结构及其内容。这个文件系统就是rootfs。rootfs是Docker容器在启动时内部进程可见文件,即docker容器的根目录,rootfs通常包含一个操作系统运行所需的文件系统。如一个Unix系统中的/usr/bin、/lib/tmp等等。

特点
分层机制。
方便管理。
体积小,直接使得docker在使用中占用资源小。

Image特性-分层
Aufs:Docker 镜像采用分层的方式构建,每个镜像都由一系列的“镜像层”组成。分层结构是docker镜像如此轻量的重要原因,当需要修改容器镜像内的某个文件时,只需要对最上方的读写层进行变动,不覆写下层已有的系统文件。

docker inspect命令查看docker镜像详细信息

Image特性-写时复制
Docker镜像使用写时复制(copy-on-write)策略,在多个容器间共享镜像,每个容器在启动的时候并不需要复制一镜像文件,而是将所有镜像层以只读的方式挂载到一个挂载点,在再上面覆盖一个可读写的容器层。当写入数据时,会把变化的文件内容写到可读写层。

Image特性-内容寻址
在dockerl.10版本后,引入一个重要的特性内容寻址存储机制。新模型对镜像层的内容计算检验和生成一个哈希值,并以此哈希值作为镜像层的唯一标志。

Image特性-联合挂载
联合挂载(union filesystem)技术可以在一个挂载点同时挂载多个文件系统,将挂载点的原目录与被挂载内容进行整合,使得最终可见文件系统将会包含整合之后的各层的文件和目录。

Commit方式制作镜像
语法
docker commit [container的ID] [新的image_name]

过程
运行一个容器实例
docker run -it --name httpd centos:latest /bin/bash //httpd为实例容器名称

容器内安装httpd
yum -y install httpd

制作镜像
docker commit 容器名称 centos:httpd

Build方式制作镜像
通过使用dockerfile可以自定义属于自己的镜像。Dockfile是一种被Docker程序解释的脚本。Dockerfile有自己书写格式和支持的命令,Dockex程序解决这些命令间的依赖关系。
Docker程序将读取Dockerfile,根据指令生成定制的image。它明确的表明image是怎么产生的。

Dockerfile 指令选项
FROM              #指定构建镜像的基础源镜像。
MAINTAINER        #指定创建镜像的用户。
RUN               #是在docker build时执行的命令。
COPY              #复制本地主机文件到镜像中。
ADD               #复制本地主机文件到镜像中,压缩包会被解压。
CMD               #在docker run运行时执行的命令。
EXPOSE            #仅仅只是声明端口。
ENV               #设置环境变量,且只能设置一个。
ENTRYPOINT        #配置容器启动后执行的命令。
VOLUME            #定义匿名数据卷。
WORKDIR           #指定工作目录。
USER              #用于指定执行后续命令的用户和用户组。
ONBUILD           #用于延迟构建命令的执行。

语法
docker build -t 镜像名:镜像TAG Dockerfile文件所在路径
过程
创建工作目录
 mkdir /docker-build && cd /docker-build
创建Dockerfile文件
    vim Dockerfile  #写上之前的例子
 制作镜像
    docker build -t centos:httpd ./

docker入门(镜像)相关推荐

  1. docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]

    docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...

  2. Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像

    2019独角兽企业重金招聘Python工程师标准>>> 在前一篇文章:Docker入门系列之一:在一个Docker容器里运行指定的web应用 里, 我们已经成功地将我们在本地开发的一 ...

  3. docker ubuntu镜像_Docker 入门指南 | Linux 中国

    该教程包含了如何创建一个新的 Docker 容器,如何运行该容器,如何从现有的 Docker 容器中创建自己的 Docker 镜像等 Docker 的一些基础知识.操作.-- Sk 在我们的上一个教程 ...

  4. docker 镜像修改的配置文件自动还原_原创 | 全网最实在的docker入门教程四

    作者:潘吉祥 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些命令就执行失败,我们还不知道错误在哪,这着实有 ...

  5. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上

    这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...

  6. docker镜像启动后端口号是多少_RSS、智能家居、个人博客、维基百科……Docker 入门指南...

    如果你购买过 VPS 云主机,那么或多或少,你都可能听说过 Docker.如果你从未听说过 Docker,那么本文可能能够为你开启新世界. 利用 Docker,你能够非常轻松地部署各类服务,无论是个人 ...

  7. Docker入门教程 Part 1 基础概念 - 镜像、容器、仓库

    前言 第一篇笔记,先总体介绍Docker,及它与虚拟机技术的区别,最后再介绍Docker的最基础的三大组件概念. 本文内容主要参考Docker官方网站以及中文书籍Docker - 从入门到实践. 我正 ...

  8. Docker入门之使用镜像(二)

    文章目录 前言 什么是Docker镜像 如何获取镜像 查看镜像信息 删除单个镜像 批量删除镜像 导出与导入镜像 清理镜像 总结 前言 Docker 中大部分的操作都是围绕三个核心概念:镜像.容器.仓库 ...

  9. Docker 入门(4)镜像与容器

    1. 镜像与容器 1.1 镜像 Docker镜像类似于未运行的exe应用程序,或者停止运行的VM.当使用docker run命令基于镜像启动容器时,容器应用便能为外部提供服务. 镜像实际上就是这个用来 ...

  10. docker 入门 —— docker 镜像命令

    docker 镜像命令 文章目录 常用镜像操作命令 常用容器操作命令 1.`docker images` 列出本地主机上的镜像 1.1.参数: 2.`docker search 镜像名字` 搜索镜像 ...

最新文章

  1. 姚班学霸陈立杰:16岁保送清华,18岁拿下IOI世界冠军,现摘得FOCS 2019最佳学生论文...
  2. Linux Anaconda断网创建虚拟环境
  3. 让云×××—微软虚拟化远程直播
  4. Spring MVC 验证码
  5. 基于Matlab----RSSI测距定位技术性能仿真
  6. SQL Serevr 2012 安装教程
  7. 手机上不了网怎么连接到服务器未响应,手机上不了网怎么办 手机上不了网解决方法【设置步骤】...
  8. Node.js十年,你大爷还是你大爷
  9. python做性能测试框架_python常用web框架简单性能测试结果分享(包含dja
  10. 今天在隧道一车上的一幕
  11. 双网卡同时上内外网的方法
  12. 哈夫曼编码、哈夫曼树
  13. 信息检索(IR)—链接分析
  14. CSS常见布局的几种实现方式(面试常考)
  15. 怎样修改论文格式-人工智能实现快速修改
  16. 一组你们心心念念的 Windows 10 主题壁纸,请签收!
  17. go语言环境的安装配置
  18. iOS自带定位获取地址
  19. 【计算方法】迭代法(线性方程组求解)
  20. html程序国庆节祝福,2019国庆节祝福语送给朋友微信

热门文章

  1. 秒懂设计模式之工厂方法模式(Factory Method Pattern)
  2. 网页导出Excel文件并下载
  3. 人工智能和机器学习在改善客户体验方面的应用
  4. 【Microsoft Azure 的1024种玩法】六十.通过Azure Virtual Machines快速搭建个人Ghost博客系统
  5. 用matlab画双坐标图,怎么灵活改变坐标轴颜色,刻度,字体等
  6. 红米k30至尊纪念版和华为p30pro的区别 哪个好
  7. [Unity3D]面试题集锦
  8. 别找了,完整代码在这||校园导游咨询系统
  9. nginx防止恶意域名解析与反代80与443端口完整版
  10. burpsuite第一次爬行扫描