一、对docker的认知
docker:(能够实现一次编译,到处运行) ---- 码头工人
是一个开源的应用容器引擎。
二、docker中涉及到相关名词
沙盒(沙箱):sandbox
在计算机领域是一种虚拟技术,多用于计算机安全技术。
LXC:(Linux Container)
是一种内核虚拟化技术。
三、docker和虚拟机的区别
相同点:
docker容器技术和虚拟机技术,都是虚拟化技术。
不同点:
docker少了虚拟机操作系统这一层,所以docker效率比虚拟机高。
四、图示docker用法
五、docker工作流程
服务器A上运行docker Engine服务,在docker Engine上启动很多容器container,从外网Docker Hub上把image操作系统镜像下载下来,放到container容器运行。这样一个容器的实例就运行起来了。
最后,通过Docker client对docker容器虚拟化平台进行控制。
六、对docker中image,container的阐述
image理解为系统镜像
container是image在运行时的一个状态
如果拿虚拟机做比喻:image就是关机状态下的磁盘文件,container就是虚拟机运行时的磁盘文件,包括内存数据。
dockerhub:是docker官方的镜像存储站点,其中提供了很多常用的镜像供用户下载。如Ubuntu,centos。
七、docker核心技术
namespace:实现container的进程、网络、消息、文件系统和主机名隔离。
cgroup:实现对资源的配额和度量。(可以指定实例使用的cpu个数,内存大小,相当于虚拟机中的硬件配置参数)
八、docker特性
文件系统隔离:每个进程容器运行在一个完整独立的根文件系统里。
资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
日志记录:docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
变更管理:容器文件系统的变更可以提交到新的镜像中,并可重复使用以创建更多的容器,无需使用模板或手动配置。
交互式shell:docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell。
九、docker基本操作命令汇总
1、安装docker
yum install docker -y
2、启动docker
systemctl start docker
3、设置开机自启
systemctl enable docker
4、查看docker版本
docker version
5、查看docker详细信息
docker info
6、搜索镜像系统文件
docker search centos
十、使用docker拉取镜像文件
方法1:docker pull docker.io/centos 镜像文件
这个方法拉取比较慢
方法2:docker pull hub.c.163.com/library/tomcat:latest /bin/bash
这个下载比较好