一、Docker的基本组成

1、镜像(image):
- Docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,Tomcat镜像==>run==>Tomecat01容器(提供服务),通过这个镜像可以创建多个容器(最终服务或者项目运行就是在容器中的
2、容器(container):
- 通过镜像来创建的
- Docker利用容器技术,独立运行一个或者一组应用
- 目前就可以把这个容器理解为就是一个简易的Linux系统
3、仓库(repository):
- 仓库就是存放镜像的地方
-
二、安装Docker
1、环境准备
需要Linux基础
- CentOS7
-
2、环境查看
**uname -r**#可以看到系统内核是3.0以上的(根据目前最新版本的Docker最好用3.0以上的)

**cat /etc/os-release**#操作系统版本等信息,可以看到为CentOS7
3、安装
- 查看帮助文档
(1)卸载旧的版本
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
(2)需要的安装包
sudo yum install -y yum-utils
(3)设置镜像的仓库
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo #默认是国外的#建议用国内的,这里用了阿里云的sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(4)更新yum软件包索引(文档并没有,但是推荐先这样做)
sudo yum makecache fast
(5)安装Docker相关依赖(docker-ce 社区版 ee 企业版)
sudo yum install docker-ce docker-ce-cli containerd.io#可以使用docker version命令查看是否安装成功
(6)启动Docker
systemctl start docker
(7)运行hello-world
docker run hello-world
(8)查看下载的hello-world镜像
docker images
4、卸载Docker(了解)
# 1、卸载依赖sudo yum remove docker-ce docker-ce-cli containerd.io# 2、删除资源sudo rm -rf /var/lib/docker # /var/lib/docker 为Docker的默认工作路径
三、回顾hello-world流程
四、底层原理
1、Docker是怎么工作的
- Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问。
- DockerServer接收到Docker-Client的指令,就会执行这个命令
2、Docker为什么比VM快
- Docker有着比虚拟机更少的抽象层
- Docker利用的是宿主机的内核,VM需要是Guset OS

- 所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别的,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!


