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
镜像和容器的区别


浙公网安备 33010602011771号