1. 前言
因为作者之前并没有太多产品开发和部署的经验,所以初入团队时,确实花了一段时间学习Docker概念和应用。那么今天就跟大家分享一下如何从零到一地打开Docker的大门吧。
2. Docker的基本概念
Docker是一个开放源代码的软件,程序员用Python、Java等面向对象的语言能够设计出产品,为什么还要使用它呢?这是因为我们在开发时需要很多特定的包和配置文件去搭建环境,如果用户想要在不同的系统环境去调用它,是一件很费时费力的事情。那么这个时候Docker就派上用场了。Docker可以帮助打包好我们产品需要的依赖包和环境,用户可以更加直接且轻松地使用我们的产品。
谈到Docker,自然离不开镜像(image),容器(container),镜像仓库(repository)这三个概念。这里我将用一个贴近现实的比喻,帮助你更形象地理解这三个概念。
试想我们的产品是一辆小汽车,如果有消费者欣赏这款车的车型,没有Docker他可能需要从零件开始复刻这辆车的制作过程。
镜像(image)就好比这个汽车的雏形,是这台车刚生产出来的样子,只有轮胎,发动机,方向盘等基础配件。镜像在这里决定着一款车的汽车型号。
容器,就相当于一款车型在市场中为了迎合不同口味的而设计出的不同版本,如豪华版,简易版等,甚至买家在购买之后根据自己的喜好装饰它。也就是说,容器是基于镜像的运用实例。容器和容器之间是相互独立的,但有可能是来源于同一个镜像。通过命令,我们可以创建,运行,停止和删除容器。
镜像仓库,就像是停车场,存放着各种各样不同的车。这个比较好理解,这个仓库概念很像Github