Docker知识点总结
Docker
1.什么是Docker
Docker是一个用来装应用的容器,一个开源的容器化平台,通过轻量级的容器打包应用及其依赖,实现"一次构,到处运行",解决环境一致性问题
Docker 的核心是 基于 LXC(Liunx container) 技术的实现,可以理解为一个轻量级的虚拟机(实际上是容器的概念,Docker 不是虚拟机),Docker 使用 Linux 的 namespace 和 cgroups 技术实现容器隔离与资源限制。
Docker适用于微服务架构
2.容器级别的虚拟化特点
- 不需要模拟硬件层
- 共享同一个宿主机的内核
3.核心优势
- 轻量: 容器与宿主共享宿主机内核,比虚拟机更节省资源
- 快速: 启动速度时间秒级,远快于虚拟机
- 隔离: 容器间相互隔离,拥有独立文件系统
- 可移植: 支持在任何安装Docker的环境中运行
- 安全性:容器资源跟系统是隔离的,危害将被降到最低
4.Docker VS VM
| 类别 | Docker | VM |
|---|---|---|
| 操作系统 | 与宿主机共享 操作内核 | 在宿主机 OS 运行虚拟机OS |
| 启动速度 | 秒级 | 分钟级 |
| 执行性能 | 和物理系统几乎一致 | VM会占用一些资源 |
| 镜像体积 | MB级别 | GB级别 |
| 隔离性 | 比较弱 | 彻底 |
5.基本概念
- 仓库
- 存放镜像的地方,类似于Maven仓库用途 有中央仓库和本地仓库
- 最大的公开仓库DockeHub 可以使用类似于Git命令的方式去pull/push镜像
- 镜像
- 可理解为是一个只读的模板,镜像用来创建容器,一个镜像可以创建多个容器(images:lastest)
- 查看镜像:docker images
- 启动镜像:docker run 镜像名 /bin/bash
- 拉取镜像:docker pull 镜像名
- 改镜像名:docker tag 原先镜像名 新镜像名
- 删除镜像:docker rmi 镜像名/ID
- 从Dockerfile创建镜像:docker build -t 标签
- 推送镜像:docker push 仓库地址/镜像名:标签
- 容器
- 容器是由镜像创建的实例,可以被启动、停止、运行、删除
- 每个容器之间是互相隔离的、保证安全的平台
- 可以把容器看成是一个简单的Linux环境
- 创建并启动容器:docker run [选项] [镜像]
- 选项: -d 后台运行 -p 宿主端口:容器端口(端口映射) -v 宿主目录:容器目录(挂载)
- 查看所有运行中的容器:docker ps -a
- 停止/启动容器:docker stop/start [容器ID/名]
- 删除容器:docker rm [容器ID/名]
- 进入容器交互终端:docker run -it [容器ID/名] /bin/bash

浙公网安备 33010602011771号