docker基础
引入
-
环境配置的难题
软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,导致配置环境很麻烦
-
解决方案
- 虚拟机
- 用户可以通过虚拟机还原软件的原始环境。但是,这个方案有几个缺点。
- 资源占用多
- 冗余步骤多
- 启动慢
- 用户可以通过虚拟机还原软件的原始环境。但是,这个方案有几个缺点。
- linux容器
- Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。或者说,在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。
- 优势
- 启动快
- 资源占用少
- 体积小
- docker
- Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
- Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
- 总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
- 优势
- 更高的利用系统的资源
- 更快的启动时间
- 一致的运行环境
- 持续交付和部署
- 更轻松的迁移
- 虚拟机
Docker的用途
- 提供一次性的环境
- 本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
- 提供弹性的云服务
- Docker 容器可以随开随关,很适合动态扩容和缩容。
- 组建微服务架构
- 通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
- docker三大概念(生命周期)
- 镜像(image)
- docker镜像就是一个只读的模板
- 镜像可以用来创建docker
- 容器(container)
- 容器是可以被创建.启动.停止.删除.暂停
- docker利用容器来运行应用
- 仓库(reposeitory)
- 仓库是集中存放镜像文件的场所
- 仓库分为公开仓库和私有仓库
- 镜像(image)