从aufs文件系统到docker镜像

概要

1 aufs文件下系统是什么?有什么特性?

2 aufs文件系统与docker镜像的关系。

3 dockfile如何工作?

4 docker镜像储存到哪里?储存的什么?

5 docker镜像的储存过程简介。
  1. aufs文件下系统是什么?有什么特性?

    aufs文件系统全名为advanced multi-layered unification filesystem.
    它能够将不同类型的文件系统透明地层叠在一起,实现一个高效的分层文件系统。简言之,它能将不同的目录挂在到统一目录下。

    我们从几个简单的实验窥探一下aufs文件系统的挂载特性。

    实验系统环境

    OS : Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64)

    docker : client/server 1.12.1

    挂载命令:mount -t aufs -o br=path/to/dir/A:path/to/dir/A none path/to/dir/uniondir

    mount命令中,-t表示目标文件系统类型,-o表示挂载参数, none表示挂载的不是设备文件。这些都是mount命令的参数。br是aufs的参数,表示分支,多个分支之间用冒号分隔。

    挂载实验
    ```
    mkdir a b uniondir
    echo 1 > a/1.txt
    echo 2 > b/2.txt
    tree
    #├── a
    #│   └── 1.txt
    #├── b
    #│   └── 2.txt
    #└── uniondir
    sudo mount -t aufs -o br=/home/zyf/aufstest/a:/home/zyf/aufstest/b none /home/zyf/aufstest/uniondir
    tree
    #├── a
    #│   └── 1.txt
    #├── b
    #│   └── 2.txt
    #└── uniondir
    #    ├── 1.txt
    #    └── 2.txt
    ```
    由此可见我们将a目录的1.txt和b目录的2.txt挂载到了uniondir下。
    在挂在时候,我们指定a目录在前,所以a目录是逻辑的上层。br参数没有加读写权限之前,逻辑上层(a目录)为读写权限。其余层(b目录)为制度权限。所以如果我们在uniondir创建3.txt,此文件会创建在a目录中。
    ```
    cd uniondir
    vim 3.txt
    cd ../ & tree
    #├── a
    #│   ├── 1.txt
    #│   └── 3.txt
    #├── b
    #│   └── 2.txt
    #└── uniondir
    #    ├── 1.txt
    #    ├── 2.txt
    #    └── 3.txt
    ```
    同样的,我们如果在一开始在a目录中创建2.txt。在挂在时候会优先挂载2.txt。
    因为读写权限的不同,修改1.txt和2.txt内容对a、b的影响也不同:
    ```
    echo 'add sth' >> /root/test/uniondir/1.txt
    echo 'add sth' >> /root/test/uniondir/2.txt
    cd ../ & tree
    #├── a
    #│   ├── 1.txt
    #|   |   2.txt
    #│   └── 3.txt
    #├── b
    #│   └── 2.txt
    #└── uniondir
    #    ├── 1.txt
    #    ├── 2.txt
    #    └── 3.txt        
    ```
    可见,对可读
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值