目录
一、概述
1.1 Docker为什么出现
实现项目带上环境安装打包的需求,避免出现“项目在我这里可以运行,你那边就报错”的情况。
1.2 Docker能干什么
1.2.1 虚拟机技术的缺点
1. 资源占用十分多
2. 冗余步骤多
3. 启动慢
1.2.2 容器化技术
容器化技术不是模拟一个完整的操作系统。
1.2.3 Docker和虚拟机的区别
- 虚拟机虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
- 容器内的应用直接运行在宿主的内容,容器是没有自己内核的,也没有虚拟我们的硬件
- 容器间互相隔离,每个容器内都有属于自己的文件系统。
二、Docker安装
2.1 Docker的基本组成
镜像(image):好比一个模板,可以通过模板创建容器服务。
容器(container):Docker利用容器技术,独立运行一个或者一个组应用 ,通过镜像来创建的。
仓库(repository):仓库就是存放镜像的地方。
docker容器在docker的服务上运行
docker的服务(Docker deamon)在运行容器时,需要通过镜像来进行运行。运行起来后,会产生一个个容器,这些容器类似于我们的对象。
2.2 安装Docker(linux)
2.2.1 环境准备
操作系统要求内核在3.10以上
查看系统内核命令
uname -r
2.2.2 安装
官方帮助文档:Docker Documentation | Docker Documentation
官方安装指南:Install Docker Engine on CentOS | Docker Documentation
2.2.3 Docker run 的运行流程
2.2.4 底层原理——docker是怎么工作的
Docker是CS结构的系统,Docker的守护进程运行在主机上,可以通过Socket从客户端进行访问。
Docker Server接受Docker Client的指令
Docker为什么比虚拟机快?
- 因为Docker拥有比虚拟机更少的抽象层。
- docker利用的是宿主机的内核, vm需要是Guest OS.
所以,在新建一个容器时, docker不需要像虚拟机一样重新加载一个操作系统内核 ,避免引导。
虚拟机加载Guest OS是分钟级的,而Docker利用宿主机的操作系统,启动时间是秒级的。
三、常用命令
官方文档:Docker run reference | Docker Documentation
菜鸟教程:Docker 命令大全 | 菜鸟教程
3.1 镜像命令
docker images查看所有本地的主机上的镜像
docker pull下载镜像
docker rmi 删除镜像
3.2 容器命令
列出所有运行的容器
退出容器
删除容器
启动和停止容器
后台启动容器
查看日志
查看容器中的进程信息
查看镜像的元数据
docker inspect doce7b86171bf