docker是什么
Docker 是一个开源的应用容器引擎,是一种资源虚拟化技术,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。
docker的简单原理是什么
基于Linux内核的Cgroup,Namespace,以及UnionFS等技术,对进程进行封装隔离,属 于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其 为容器。
容器技术的优势
-
隔离性 每个用户实例之间相互隔离,互不影响 -
**可配额 **cgroups 实现了对资源的配额和度量。 cgroups 的使用非常简单,提供类似文件的接口,在/cgroup 目录下新建一个文件夹即可新建一个 group,在此文件夹中新建 task 文件,并将pid 写入该文件,即可实现对该进程的资源控制。groups 可以限制 blkio、cpu、cpuacct、cpuset、devices、freezer、memory、net_cls、ns 九大子系统的资源 -
便携性 可以本地构建、云端部署,或者在任何地方运行。 -
安全性 由 kernel namespaces 和 cgroups 实现的 Linux 系统固有的安全标准;
和虚拟机技术相比容器技术更轻量
docker常用命令是什么
docker images 查看所有镜像
docker rmi imageId 删除镜像
docker ps -a 查看运行中的容器
docker run 启动容器,里面有参数可以具体调整,非交互,挂在宿主机哪里等
docker build -t {name} . 以当前的dockerfile构建镜像
doceker exec -it {containerId} /bin/bash 进入运行中的容器,调试的时候很有用
docker stop {containerId} 停止容器
docker rm {containerId} 删除容器
docker pull/push 推拉镜像,有时需要login登录等,可以用官方的,也可以自己搭建镜像仓库
参考
https://mp.weixin.qq.com/s/BrhiUanV7TE-elBGRuyRKg
|