2020年了,跟我一起学Docker吧—— Docker 简介以及安装环境

Docker 是什么

这里先用官方的解释:

A standardized unit of software 一个软件的标准化单位

这里我从一个身边每天都在用的例子来讲解什么是Docker吧。

我想在看文章的你,有可能使用的是iPhone手机吧,不是也不要紧,但我想iPhone最盛行的时候,应该听过iPhone越狱这件事,那我们从越狱说起吧。

为什么iPhone要越狱,而Android却不要

越狱本质上,就是获取操作系统的root权限,获取更高的权限操作更多的内容。而苹果官方是禁止我们这样做的,最大的原因就是他破坏了iPhone的沙盒体系,让他高度维护的安全体系全然失效,如果精明的小伙伴应该听过docker也有沙盒(SandBox)的概念。

而 SandBox 理念,是让程序运行在操作系统受限制的环境中,像iPhone对于App的限制,就是每个App都有一个独立的文件夹,存储App产生的用户信息文件,完全不需要担心这个路径被其他的App恶意访问。

这里找了一张网图,这里面每个不规则的ID文件夹,对应的就是一个App,每个App只能访问自己的文件夹,由iOS的系统管控

image

什么是Docker

这里我们在回到Docker里面,作为一个后端的工程师,我们维护的APP 是一个个独立的后端服务或者站点,我们这些程序共用一个操作系统的资源,就会面临以下的问题:

  1. 一个服务占用了大量的内存或者CPU,导致其他的服务不资源可用。
  2. 对于某些需要不同操作系统的程序,没有办法同时运行在一个机器上。C#的程序员,需要把程序跑在Windows服务器上面,而很多中间件组件,通常都希望跑在Linux操作系统上面。
  3. 程序的文件系统或者网络都是同一个,会产生一些文件访问的冲突或者网络端口号的冲突。
    等等

那 Docker 就是来帮助我们解决这些问题的。

如果让我来说,Docker是什么,那我会说: Docker 是一个包含了程序所需的操作系统,帮助我们运行,我们需要的软件,并帮我们对每个程序加以限制的工具

而且我觉得,Docker最大的优势就是他的插拔特性,他可以像安装一个App一样,安装一个后端服务,也可以像卸载一个App一样,删除一个程序。就是下面两个命令,而且几乎不需要担心程序残留的问题。

docker run
docker delete

有多方便,我安装一个mysql数据库,如果用以前的安装方式,我们需要:

  • 到官网下载对一个操作系统的安装包
  • 安装在系统内部,安装过程中,程序还会注册各种我们未知的内容
  • 执行对应的cli开启结束服务
  • 防止端口占用,还要仔细配置

而使用了Docker之后:

  • 指定容器内的操作系统就可以,不需要关心跟你电脑不匹配的问题
  • 安装过程全部由虚拟出来的操作系统负责,不影响你的电脑内任何内容
  • docker可以帮助我们映射端口,从Docker上面可以一键查看

执行的安装命令:
Windows:

docker run -p 3306:3306 --name mysql -v D:\mysql\conf:/etc/mysql/conf.d/ -v D:\mysql\logs:/logs -v D:\mysql\data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

Mac:

docker run -p 3306:3306 --name mysql \
-v /mysoft/mysql/conf/:/etc/mysql/conf.d/    \
-v /mysoft/mysql/logs:/logs  \
-v /mysoft/mysql/data:/var/lib/mysql   \
-e MYSQL_ROOT_PASSWORD=123456  \
-d mysql:5.7
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

聊了这么多它的好处,让我们开始安装Docker吧

Docker 安装:

Windows版本:

  1. 由于Docker 在Windows上执行,需要一定的支持,我们先检查一下对应的配置。

    • 打开你的任务管理器,点开性能一栏,查看我下面标记的地方是否是开启状态(中文是虚拟化),如果不是的话,请大家重启电脑,进入到BIOS里面,开启这个配置,具体的可以到百度查询,不是很复杂
    • 在开始面板搜索Windows Features,打开后,查看Hyper-V是否开启,如果不是的话请开启一下,可能需要重启电脑,这个Hyper-V是Windows自带的虚拟机,类似于VirtualBox,VMVare一类的软件。
  2. 下载安装包,这个到官网 进行下载就可以了(目前需要注册一个Docker的账号,按照提示自主注册即可)。

  3. 后续的示例,可能需要使用到git,如果没有的话,请到对应的网站下载并安装。

  4. 启动桌面安装好的Docker图标,打开一个终端(CMD),输入docker -v, 输出类似下面的内容就算成功了(撰文的Docker版本是19.03.5):

Docker version 19.03.5, build 633a0ea

Mac 版本

Mac环境的安装就比较简单了,可以一键安装,没有Windows那么麻烦

  1. 通过homebrew 命令安装:brew cask install docker
  2. 通过官网的包安装,直接下载即可。

配置项

强烈建议大家配置一些相关的信息:

  1. 由于国内不能访问国外的服务器,Docker在使用的过程中需要下载一些包,所以建议配置国内的仓库源(这里贴Mac的图,位置在Perferences->Daemon,Windows是在Setting->Daemon里面):
    image

相关的资源链接:

下一节,会一起执行我们的第一个容器。喜欢的同学请关注我的公众号 二进制操盘手

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 每天早上,我都要坐重庆西站开往重庆北站南广场的这班公交车,我家在第三个站,大多数情况第二班车能够有位置,往往到了下...
    浮生任逍遥阅读 135评论 1 5
  • 也不知从什么时候起,喜欢上了下雨天, 雨天,喜欢看满天飘洒淅淅沥沥的雨,喜 欢听雨打在玻璃上的声音...........
    妮子nz阅读 187评论 0 0
  • 说好不哭,却抑制不住悲伤。
    小懒27阅读 68评论 0 0
  • 今天的天很晴,光线与温度,都是我喜欢的。 被minimalisim迷住,制作了白色的手脚雕塑。Less is mo...
    Sylvia希希阅读 353评论 0 0