DOCK - 容器 (容器虚拟化软件)
基本概念
虚拟化技术
- 虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。
- CPU-运算资源,硬盘-数据存储资源,网卡-网络传输资源
- 提供跨平台特性
- 提升物理资源利用率
虚拟化分类
- 硬件虚拟化 软件虚拟化
-
虚拟机 Hypervisor
image.png - 隔离应用程序和操作系统 或者是硬件资源
- 性能底下
容器技术
- 全新的虚拟化技术(操作系统虚拟化)
- 不完全,不彻底的虚拟化技术
- 提供 独立的运行环境,资源控制功能
虚拟机VS 容器
image.png
效率
- 微服务架构的出现
- 互联网应用的规模
- Devops理念
技术实现
-
NameSpaces - 进程隔离
image.png -
Control Groups - 资源控制
image.png -
Union File System - 联合文件结构
image.png
核心组件
-
镜像 - 增量式镜像结构
image.png 容器
- 一个 Docker 镜像
- 一个程序运行环境
- 一个指令集合
-
网络
image.png 数据卷
Docker Engine
-
Docker daemon
image.png -
Docker CLI
image.png
使用镜像
-
docker images
image.png
镜像的 ID ( IMAGE ID)、构建时间 ( CREATED )、占用空间 ( SIZE )
命名我们可以分成三个部分:username、repository 和 tag。
username: 主要用于识别上传镜像的不同用户,与 GitHub 中的用户空间类似。
repository:主要用于识别进行的内容,形成对镜像的表意描述。
tag:主要用户表示镜像的版本,方便区分进行内容的不同细节
- docker pull nginx
从Docker Hub 拉取镜像 - docker rmi 删除镜像
- docker inspect 查看镜像具体信息
运行-管理容器
容器运行生命周期5种状态
- Created 容器已创建,相关资源准备就绪,未运行
- Running 容器正在运行
- Paused 容器已暂停
- Stopped 容器已停止
- Deleted 容器已删除,资源释放和移除
创建容器
- docker create
image.png -
查看容器状态
image.png -
docker create --name nginx ImagesId
image.png
删除容器
-
docker rm CID | docker rm name
image.png
运行容器
-
docker run --name nginx -p 8080:80 -d ImageId
image.png
停止容器
- docker stop nginx
进入容器
- docker exec -it nginx bash
-i 保持输入流
-t 启用一个伪终端