『中级篇』docker Image概述(13)

什么是镜像,镜像是怎么产生的,通过这节的学习的Docker container机制要比虚拟机的机制要小巧,原因何在?本节课程的内容是连接12节的,所以肯定跟12节的github有关系:https://github.com/limingios/docker.git

####什么是Image

  • 文件和meta data的集合(root filesystem)
  1. 对于linux系统来说分为:,就是内核空间(kernel space)和用户空间(user space),内核空间linux kernel,就理解成root filesystem
  2. 用户空间就是在内核上层建立的其实就是:ubuntu,centos,redhat, Debian。
  • 分层的,并且每一层都是可以添加改变的,成为一个新的Image。例如:先建立个apache的Image,结果在apache的Image上边我有建立的一个mysql的Image。
  • 不同的Image之前可以共享分层。例如:apache的Image可以跟mysql的Image之间进行通信。
  • Image本身是只读的

####开始Image的表演

首先启动vagrant,在上一节创建的虚机

  • 启动vagrant reload
  • 进入vagrant ssh sudo service docker restart sudo docker version![](https://upload-images.jianshu.io/upload_images/11223715-8a74599cac6ad897.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) * 挂个国内的加速器吧 ``` bash sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://b81aace9.m.daocloud.io sudo systemctl restart docker
    sudo docker image ls
    ls cd labs cd docker-centos-vim/ ls pwd more Dockerfile sudo service docker restart sudo docker build -t liming/vim:latest .
    这里注意里面一共用了两步,这个跟咱们编写的Dockfile有关系,因为Dockfile也就两行。
    sudo docker pull ubuntu:14.04 sudo docker image ls
    如果自己安装一个centos 和ubuntu 在虚拟机上也需要几个G吧,这里通过docker 才几百兆,是不是很省空间。
    image.png
    注意:从:https://hub.docker.com/ 中不仅仅可以下载官方的Image还可以下载私人的Image 他们的区别是:官方的名字后面没有/,私人的:人名/Image的名称
    image.png
    #4 通过版本号 sudo docker pull bitnami/wordpress:4 #默认的latest sudo docker pull bitnami/wordpress
  • 查看Image
  • 获取Image
  • bulid from Dockerfile
  • Pull from Registry(从仓库中下载,这个概念有点像git的方式,其实docker就是模仿了git的方式,我们可以从https://hub.docker.com/ pull,也可以把的Image push 到https://hub.docker.com/ 中)
    1. liming/vim 是在centos之上的一个Image
    2. 因为Dockerfile中需要from centos 所以也下了centos Image
    3. ubuntu 刚刚pull下来的
![](https://upload-images.jianshu.io/upload_images/11223715-4b73db9b70d13972.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](https://upload-images.jianshu.io/upload_images/11223715-a36bd3c984bc3b2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image.png](https://upload-images.jianshu.io/upload_images/11223715-82715bff20e27287.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](https://upload-images.jianshu.io/upload_images/11223715-1bf9dfd498501dec.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![](https://upload-images.jianshu.io/upload_images/11223715-7d1bbecc0516970f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

* 进入容器内部

``` bash

#创建文件

touch test.txt

#执行yum安装

yum install vim

  • 从容器内部退出,容器也变成了exited

docker的命令分布

  • Management Commands (管理命令)
  • Commands (配合管理的运行命令)

命令合集

PS:认识了Image,下次如何创建自己的Image。实践中,欢迎大家持续关注。

往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. 『中级篇』docker架构和底层技术(12)
image

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习计算机视觉

Qt+opencv+EasyPR(车牌识别系统,从配置环境到成功运行)

最近在东软睿道实训搞一个车牌识别系统,所用材料为Qt+opencv+EasyPR,从配环境到成功运行历时几天颇为艰难,这里写篇经验贴,手把手教你~ 作者:张俊怡...

3803
来自专栏施炯的IoT开发专栏

图文解说三星focus i917芒果升级

    去年就开始关注WP7,但基本都是在模拟器上。最近看芒果即将面世,Hold不住,淘宝上入手了focus的冲新机。特意要的7004英文原版,那是为了方便地通...

1755
来自专栏西安-晁州

nginx配置样例

简单的nginx配置如下,包含了静态文件配置、websocket、socket.io的配置: user nobody; worker_processes 3;...

2960
来自专栏散尽浮华

服务器磁盘监控脚本分享(含报警邮件)

在日常的运维工作中,我们经常会对服务器的磁盘使用情况进行巡检,以防止磁盘爆满导致的业务故障. 如果能编写一个合理完善的监控脚本,当磁盘使用率达到我们设置的阀值时...

1998
来自专栏吉浦迅科技

菜鸟如何顺利用JetPack3.0刷机?(第一部分)

最近Lady遇到不少Jetson TK1的新手,在用JetPack刷机的过程遭遇到各种问题,于是Lady特意召唤东莞理工学院Robot Pioneer战队,请他...

2688
来自专栏Hadoop实操

如何重置Hue用户密码

如果你忘记了Hue用户的密码,同时也不知道MySQL管理员的用户和密码,但仍需要重置密码,那么本文档可以帮助你重置Hue任何用户密码。

7795
来自专栏生信技能树

一个MeDIP-seq实战(优秀学徒成果展)

参考: http://www.bio-info-trainee.com/2352.html http://www.bio-info-trainee.com/24...

822
来自专栏乐沙弥的世界

使用 resource_limit 及 profile 限制用户连接

      数据库性能是一个永恒的话题,那就是如何使用更少的资源以达到更高效的性能。Oracle系统参数RESOURCE_LIMIT是一个用于控制用户对于数据库...

901
来自专栏杨建荣的学习笔记

Data Guard高级玩法:通过闪回恢复switchover主库 (r10笔记第13天)

最近又试了下Data Guard的新玩法,可以通过闪回恢复switchover的主库,这种场景听起来比较特别,但是Oracle依旧支持。 我们的...

3167
来自专栏大数据学习笔记

Hadoop基础教程-第10章 HBase:Hadoop数据库(10.4 NTP时间同步)(草稿)

第10章 HBase:Hadoop数据库 10.4 NTP时间同步 10.4.1 为什么需要时间同步 HBase的HMaster和HRegionServer启动...

18810

扫码关注云+社区