前端也要学Docker啊!

Docker这两年很是火热,也是各大厂必用的好东西,这两天没事玩了一下感受很不错,学起来也不难 写下此文共勉学习。linux

关于Docker

Docker 可理解为跑在宿主机上的很是精简、小巧、高度浓缩的虚拟机。 它能够将容器里的进程安稳的在宿主机上运行。git

Docker重要的三个概念必需要知道:github

  • Image: 镜像
  • Container: 容器
  • Repository: 镜像仓库

为了好理解 咱们从 Docker 的 Logo 入手:docker

图片描述

图片是一条鲸鱼游在海里 身上载着N个集装箱,下面是Docker字样。OK 图片描述完毕windows

图片给出的信息:centos

  1. 海:宿主机
  2. 集装箱:Docker容器
  3. 鲸鱼+集装箱:Docker技术
也就是说:Docker容器(集装箱)里能够存放着咱们写的代码,而后 Docker 载着代码在大海(宿主机)里运行

之因此用鲸鱼,多是它在海里没什么天敌 体型又巨大并且游泳速度很快,毕竟Docker使用GO语言写的呢。学习

镜像(Image)、容器(Container)、仓库(Repository)

上文中只说了Container,而ImageContainer的关系 就像实例的关系:ui

var p1 = new Person();

即:p1是容器、Person是镜像。 至于仓库嘛 就至关于github的代码仓库,github是存代码的仓库,相应的 Docker 仓库就是存放镜像的。spa

只有理解上面的镜像(Image)、容器(Container)、仓库(Repository)才能破解下面的图:code

WX20190615-102950

上图分了三个块:

  • Client(客户端 命令终端)
  • DOCKER_HOST(Docker daemon)
  • Resistry(镜像仓库)

从左往右看,Client 中执行了几个命令,这些命令都与 Docker daemon(Docker的守护进程) 有交互,而后 Docker daemon 会根据相应命令作对应的动做。

  1. docker build:表示建立了一个 Image,这是一条虚线 ,虚线从开始到结束指向了中间的Images框里。
  2. docker pull:表示从仓库中拉取 Image,就像 github 里 pull 代码同样。docker daemon 接收到 pull 指令,从 Registry(远程镜像仓库) 里找到对应镜像(这里是Nginx) 而后拉倒本地的 Images 中。
  3. docker run:向 daemon 发出运行指令,daemon 收到指令后去本地的 Images 中找对应镜像,若是能找到就会使用该镜像生成一个容器,若是没找到则会默认执行 docker pull 从仓库里下载,而后再生成容器,若是容器中运行着咱们的代码,那么当容器运行后 代码也跟着 run 起来了

Docker安装

Docker分社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)
社区版是免费的,因此咱们用CE版就能够了。
Docker CE具体安装参考官网文档:CentOSMacOSWindows

下载完成后 打开终端运行:docker run hello-world 成功运行则表示安装成功了。

下篇文章《使用Docker部署NodeJs应用》会说Docker经常使用的命令及使用Docker部署NodeJs
代码并让它运行起来,敬请期待

接触 Docker 时间较短,若是理解不对的地方烦请大佬给予指导,多谢啦~

相关文章
相关标签/搜索