资讯专栏INFORMATION COLUMN

前端也要学Docker啊!

Tikitoo / 3257人阅读

摘要:表示创建了一个,这是一条虚线,虚线从开始到结束指向了中间的框里。具体安装参考官网文档下载完成后打开终端运行成功运行则表示安装成功了。

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

关于Docker

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

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

Image: 镜像

Container: 容器

Repository: 镜像仓库

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

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

图片给出的信息:

海:宿主机

集装箱:Docker容器

鲸鱼+集装箱:Docker技术

也就是说:Docker容器(集装箱)里可以存放着我们写的代码,然后 Docker 载着代码在大海(宿主机)里运行

之所以用鲸鱼,可能是它在海里没什么天敌 体型又巨大而且游泳速度很快,毕竟Docker使用GO语言写的呢。

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

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

var p1 = new Person(); 

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

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

上图分了三个块:

Client(客户端 命令终端)

DOCKER_HOST(Docker daemon)

Resistry(镜像仓库)

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

docker build:表示创建了一个 Image,这是一条虚线 ,虚线从开始到结束指向了中间的Images框里。

docker pull:表示从仓库中拉取 Image,就像 github 里 pull 代码一样。docker daemon 接收到 pull 指令,从 Registry(远程镜像仓库) 里找到对应镜像(这里是Nginx) 然后拉倒本地的 Images 中。

docker run:向 daemon 发出运行指令,daemon 收到指令后去本地的 Images 中找对应镜像,如果能找到就会使用该镜像生成一个容器,如果没找到则会默认执行 docker pull 从仓库里下载,然后再生成容器,如果容器中运行着我们的代码,那么当容器运行后 代码也跟着 run 起来了

Docker安装

Docker分社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)
社区版是免费的,所以我们用CE版就可以了。
Docker CE具体安装参考官网文档:CentOS、MacOS、Windows

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

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104722.html

相关文章

  • 使用Docker部署Node应用

    摘要:本篇我们来动手实践在本地创建一个自己的镜像应用,使用该镜像创建容器并执行容器中的应用。非常简单,我们使用命令使用镜像创建一个容器实例此刻脑海中浮现。 上篇《前端也要学Docker啊!》介绍了 Docker 及它的三个主要概念:Image(镜像)、Container(容器)、Registry(仓库) 以及Docker安装。 本篇我们来动手实践:在本地创建一个自己的镜像(Node应用),使...

    oneasp 评论0 收藏0
  • 使用Docker部署Node应用

    摘要:本篇我们来动手实践在本地创建一个自己的镜像应用,使用该镜像创建容器并执行容器中的应用。非常简单,我们使用命令使用镜像创建一个容器实例此刻脑海中浮现。 上篇《前端也要学Docker啊!》介绍了 Docker 及它的三个主要概念:Image(镜像)、Container(容器)、Registry(仓库) 以及Docker安装。 本篇我们来动手实践:在本地创建一个自己的镜像(Node应用),使...

    CastlePeaK 评论0 收藏0
  • 前端要学系列:设计模式之策略模式

    摘要:做前端开发已经好几年了,对设计模式一直没有深入学习总结过。今天第一天,首先来讲策略模式。什么是策略模式四兄弟的经典设计模式中,对策略模式的定义如下定义一系列的算法,把它们一个个封装起来,并且使它们可互相替换。 做前端开发已经好几年了,对设计模式一直没有深入学习总结过。随着架构相关的工作越来越多,越来越能感觉到设计模式成为了我前进道路上的一个阻碍。所以从今天开始深入学习和总结经典的设计模...

    Anchorer 评论0 收藏0
  • 前端要学系列:设计模式之装饰者模式

    摘要:什么是装饰者模式今天我们来讲另外一个非常实用的设计模式装饰者模式。就增加功能来说,装饰者模式相比生成子类更为灵活。下面,装饰者模式就要正式登场了。下一步,我们可以愉快的去使用装饰者模式啦 什么是装饰者模式 今天我们来讲另外一个非常实用的设计模式:装饰者模式。这个名字听上去有些莫名其妙,不着急,我们先来记住它的一个别名:包装器模式。 我们记着这两个名字来开始今天的文章。 首先还是上《设计...

    高胜山 评论0 收藏0
  • SegmentFault 技术周刊 Vol.31 - 码农要学算法

    摘要:记作称为算法的渐进时间复杂度,简称时间复杂度。学习数据结构与算法之链表链表一种常见的数据结构,可以存储有序的元素集合。首先在大的分类上,它们都是散列算法。 showImg(https://segmentfault.com/img/bVSDvj?w=900&h=385); 当人工智能、AlphaGo、无人驾驶、智能投顾等词语不断在人们视野中出现的时候,意味着我们正步入一个算法的时代。计算...

    cgspine 评论0 收藏0

发表评论

0条评论

Tikitoo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<