一:Docker的原理
容器有效的将单个操作系统管理的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。
与虚拟化相比,这样既不需要指令级模拟,也不需要即时编译。容器可以在核心CPU本地运行指令,而不需要任何专门的解释机制。此外,也避免了准虚拟化(paravirtualization)和系统调用替换中的复杂性。
简而言之就是,Docker是一个盒子,一个盒子装一个玩具,无论你丢在哪里,你给他通电(glibc),他就能运行。你的玩具大就用大盒子,小玩具就用小盒子。 两个应用之间的环境是环境是完全隔离的,建立通信机制来互相调用。容器的创建和停止都十分快速(秒级),容器自身对资源的需求十分有限,远比虚拟机本身占用的资源少。
二:第一个docker案例
2.1:执行docker run hello-world
2.2:docker run做了什么?
2.3:Docker镜像命令
docker images 列出本地主机上的镜像
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
注意:同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,使用REPOSITORY:TAG来定义不同的镜像;如果不指定一个镜像的版本标签,默认会使用XX:latest镜像;
IMAGE ID:镜像的id
CREATED:镜像创建的时间
VIRTUAL SIZE:镜像的大小
2.4:docker search [某个镜像的名字]
2.5:docker pull [某个镜像的名字]
下载镜像:docker pull [镜像的名字]:[TAG]
2.6:docker rmi -f [镜像的名字]/[镜像的id]
删除镜像:docker rmi -f 19b3f968b60c
2.7:docker rmi -f 镜像名:TAG 镜像名:TAG
删除多个镜像:docker rmi -f hello-world nginx
2.8:docker rmi -f $(docker images -qa)
删除所有镜像