1.容器生态
容器技术的生态系统自下而上分别覆盖了IaaS层和PaaS层所涉及的各类问题,包括资源调度、编排、部署、监控、配置管理、存储网络管理、安全、容器化应用支撑平台等。如下图,其中docker、k8s、consul、etcd等都是此处需要关注的。
docker主要是轻量级容器引擎,起到容器(运行着服务)间隔离的作用,可以充分利用机器资源,自动化部署。
Kubernetes(k8s)主要用于管理容器集群,
1.1优势
- 持续部署与测试
- 跨云平台支持
- 环境标准化和版本控制
2.Docker使用
docker是虚拟化技术的升级,左图是一般的虚拟机,右图是docker,docker容器之间是共享底层操作系统的,自身不包含OS,这样就比传统虚拟机轻量级了很多,下图左是docker结构,右边是传统虚拟机。
Dockerfile描述镜像和容器,下图右侧显示了From指定的ubuntu基础镜像,基础镜像是只读的,最上层的容器层是读写层
2.1 三大核心概念
Image镜像 | |
---|---|
Container容器 | 轻量级虚拟机 |
Docker registry镜像仓库 | 类似与github等代码仓库,官方仓库https://hub.docker.com/ |
2.2 关联关系
3者的关系如下图,可以通过docker命令进行交互。
2.2.1 dockerfile VS Image VS Container
常用流程就是1.编写dockerfile,2.build生成一个镜像,(将镜像push到仓库 ,拉取镜像),3.启动容器。
Dockerfile用于描述镜像,
指令 | 解释 | 上例释义 |
---|---|---|
FROM | 指定基础镜像,执行from时会依赖传递 |
指定python3.6的基础镜像 |