开发者学堂课程【Docker 快速入门:Docker 理念】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/616/detail/9386
Docker 理念
Docker 理念
Docker 是基于 Go 语言实现的云开源项目。Docker 的主要目标是“Build,Ship and Run Any APP,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的 APP(可以是一个 WEB 应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。
抛出问题:为什么它的 logo 是一只鲸鱼,背上有一个个的集装箱,一个个的集装箱是否起到隔离的作用?大家带着这个问题看下面这张图。
Docker 官网原话:
在任何地方构建发布并运行任何应用。这个理念下面我们可以看到 N 个软件图标的 logo,以 redis 为例,开发环境要装一个 redis,假设开发工程师装的是redis3.2,但运维这边有可能它装的是 redis4.0,但是有些东西可以在 3 上运行,在 4 上面不行。开发已经装了一遍,并且在本地可运行,为什么运维还要装一遍呢?
开发现在需要运行,假设这个软件需要用到 redis 等四个项目,在自己开发上装了这 4 个,其他不想装了,就可以把这四个构建一下形成一个镜像文件,这个镜像文件里面就有四个集装箱。每一个集装箱,就是本地正确运行的软件的一个镜像。这四个集装箱放在 Docker 上面跑,好比鲸鱼背上有四个集装箱各自独立。那么运维就只装一个 Docker。
相当于说一次配套环境换到别的机器上,运维一件部署好就简化了操作,
Linux 容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。
将应用运行在 Docker 容器上面,而 Docker 容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境 换到别的机子上就可以一键部署好,大大简化了操作。
此时完成了一次构建到处运行的理念。