美文网首页
docker2--基础学习(容器镜像)

docker2--基础学习(容器镜像)

作者: 一个热爱生活的好少年 | 来源:发表于2018-09-27 12:05 被阅读0次

为何容器进程看到的文件系统是一个隔离的环境:容器进程再启动前重新挂载了根目录"/"。而由于Mount Namespace的存在这个挂载对宿主机不可见。

linux系统中有个chroot命令,可以在shell这中改变进程的根目录到指定位置。

整个过程就是修改了进程的根目录,并且挂载了完整的操作系统的文件系统。所以ls获取的不是宿主机的内容。

而挂载在容器根目录,用来为容器进程提供隔离后执行环境的文件系统就是镜像。也叫rootfs。

对于docker项目最核心的原理就是为待创建的用户进程:

1.启用 Linux Namespace 配置;

2.设置指定的 Cgroups 参数;

3.切换进程的根目录(Change Root)。

docker每run一次就会生成一层。也就是一个增量的rootfs。这个需要用到联合文件系统。

联合挂载后:

例如:先拉去镜像

查看image相关信息: docker image inspect ubuntu:latest

这个ubuntu镜像有5个增量rootfs。每一层都是ubuntu操作系统与目录一部分。而在使用镜像的时候docker会联合挂载到一个目录。

    而这个挂载点就是上面的rootDir:"RootDir": "/var/lib/docker/overlay/0f9dceb5c1c6a0297b3e296caf3129c5e250a17390a2a17bbfae11625094c9b2/root"

ls该路径即可查看:

注意overlayfs挂载

五层镜像是如何挂载呢?这里可以看到内部id(si)

这里

 mmp 哭晕厕所。  overlayfs挂载 没找到所谓的si,未完待续

相关文章

  • docker2--基础学习(容器镜像)

    为何容器进程看到的文件系统是一个隔离的环境:容器进程再启动前重新挂载了根目录"/"。而由于Mount Namesp...

  • Docker 常用命令

    查看docker基础信息 查看版本 搜索镜像 拉取镜像 查看镜像 运行容器 语法 示例 查看容器 删除容器 在容器...

  • docker 安装宝塔

    拉取centos基础镜像,用容器启动该基础镜像,直接在这个容器中部署。 1、拉取纯净系统镜像: 2、启动镜像,映射...

  • 利用Docker,构建宝塔linux面板镜像

    拉取centos基础镜像,用容器启动该基础镜像,直接在这个容器中部署 1.拉取纯净系统镜像 2.启动镜像,映射主机...

  • 七十二、容器安全-简介

    app 代码层面的漏洞 镜像 选择官方认证的基础镜像 镜像的漏洞扫描 容器 容器的漏洞扫描 容器的实时监控 主机 ...

  • 《Docker 从入门到实践》笔记

    镜像 从 Docker 镜像仓库获取镜像 以镜像为基础启动并运行一个容器 退出容器 列出已经下载下来的镜像 查看镜...

  • docker常用命令

    基础操作 使用镜像构建容器并启动 停止正在运行的容器 移除容器 & 移除本地镜像 启动容器 查看容器运行状态(日志...

  • Docker

    # Docker java进阶/docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器...

  • Docker基于Centos7镜像制作Mysql5.7镜像

    思路概述 拉取官方centos镜像 在官方镜像容器基础上,通过yum安装mysql 保存容器到新镜像 过程 参考创...

  • Docker-5-镜像的一些基本操作

    述 前面的文章中说的都是一些针对容器的操作,下面再来看一下镜像,镜像是容器运行的基础,容器是镜像运行后的形态 镜像...

网友评论

      本文标题:docker2--基础学习(容器镜像)

      本文链接:https://www.haomeiwen.com/subject/ckidoftx.html