docke容器技术由浅入深

容器技术原理--chroot

 chroot是linux系统的一个操作,针对正在运行的软件的进程和它的子进程。

 一个运行在这个环境下经由chroot设置根目录的程序,它不能够对这个指定的根目录之外的文件进行读取更不能进行修改

chroot 就是可以改变某进程的根目录,使这个程序不能访问目录之外的其他目录

chroot /home/admin/rootfs  /bin/bash   启动一个sh进程,并且把 /home/centos/rootfs 作为 sh 进程的根目录

 

Docker的三大基础原理

Namespace

Namespace对内核资源进行隔离,使得容器中的进程都可以在单独的命名空间中运行

并且只可以访问当前容器命名空间的资源

namespace 可以隔离进程ID、主机名、用户ID、文件名、网络访问和进程间通信等相关资源

 

docker主要用到了以下五种命名空间

 

Cgroup:

Cgroup是Linux的一种内核功能,可以限制和隔离进程的资源使用情况(CPU  内存  磁盘I/O 网络等)

 

联合文件系统:

又叫UnionFS,是一种通过创建文件层进程操作的文件系统,常用的联合文件系统有:AUFS、Overlay、Devicemapper等

 

OCI  全称为开放容器标准(Open  Container Initiative) 是一个轻量级,开放的治理机构

目前有两个标准:容器运行时标准(runtime spec) 容器镜像标准(image spec)

Docker客户端的种类:

 

镜像的常见操作

 

 

 

拉取镜像

 

查看镜像

docker images  或者  docker  images ls

查看指定镜像   docker  images ls  镜像名字

 

重命名镜像

 

 

dockerfile 构建镜像

 

 

Dockerfile指令

 Docker镜像是静态的分层管理的文件组合

镜像底层的实现依赖于联合文件系统(UnionFS)

镜像的实现原理

 

 

 

容器(Container)是什么?

容器是基于镜像创建的可运行实例,并且单独存在

一个镜像可以创建出多个容器

 

 

 

容器的生命周期

 

 

 

各个生命周期之间的转换关系

 

 容器的操作

 

 容器的启动流程

 

 

 

进入容器的方法:

 

 

 

 

 

删除容器:

删除一个停止的容器:docker  rm  busybox

删除一个正在运行的容器: docker  rm -f    busybox

 

导出容器

docker  exporter   busybox   >  busybox.tar

 

导入容器

docker   import   busybox.tar   busybox:latest

 

镜像和容器的区别

 

posted @ 2021-10-20 14:20  羊脂玉净瓶  阅读(121)  评论(0)    收藏  举报