第一章节 认识docker

docker是什么?

docker实际是个进程管理工具,类似于pm2,但不同的是pm2主要用来管理node/python等的进程,而Docker实际上不光管理进程,还实现了进程运行环境与宿主的隔离,使其表现出来就像运行在虚拟机当中一样。但较于虚拟机有本质的区别,尤其是性能上面以及与宿主进行数据交换等都不同。虚拟机是完整的虚拟出一整个系统基础设施出来,会造成很多不必要的性能浪费,而docker则是直接共享宿主机的所有资源,包括网络,硬盘,等等。只不过把不同应用使用的资源进行了隔离。

与此同时,docker还带来了一些理念,帮助应用开发者更好的实现应用的可移植可扩展,单一环境等特性。

docker能解决什么问题?

1、环境和部署问题

现实的环境当中,环境是个特别麻烦的东西,比如不同版本的nginx/node/pm2问题,应用运行的端口分配,环境变量,配置文件等等。不同的目录访问读写权限等。扩展的安装等等。不同版本环境依赖的项目,以及不同时期的项目,新的老的旧的。

2、弹性扩展


图片发自简书App



A、对于那种“秒杀”类应用,典型特点是 瞬间并发流量高,一旦高并发过去之后。基本就没有什么流量了。此时适合于提高“高速缓冲区”的节点数,此处的节点数越多,越能抗瞬间并发流量。

B、对于那种持续高流量的应用,例如tracker等,即可通过提高“高速缓冲区”的节点数,增加数据容量,也可提高“Agent Robot”的节点数,加快数据的传输,降低缓冲区压力,而robot处理的越频,则数据库的压力将持续增加,此时Robot的节点数增多,有序的持续的对数据库进行写入,避免数据库有空闲时间。最大程度的榨干数据库的能力。

C、如果AB方案的提升仍然不能满足高速的业务需求,则瓶颈主要在数据库写入上,可通过 主从分库和提升机器CPU与内存来缓解数据库压力。如果仍不能满足需求,则需要更改数据库结构,分库分表以及归档处理。

3、简化运维

有个运维跟我说过,在他们这里就没有什么(应用)是稳定的。在计算机当中,确实没有什么是稳定的,随时随地可能遇到,比如老鼠、小猫、蟑螂把电线给咬了,蓝翔实习把电缆给挖了。网线松了,硬盘掉电进灰了。静电把内存给烧了,被雷劈了。这是硬件上的风险,

软件上的风险,诸如,端口冲突了,软件之间不兼容了,莫名其妙自己崩溃了。连接丢失了,网络超时了。等等等。而本身的部署环境比较复杂,docker的隔离带来的好处是比如nginx运行着,突然不行了,可以瞬间重新启动一个新的容器,把老的给替掉,而不用担心遗留问题,不必担心两个应用端口冲突,因为端口都是由宿主分配的,不必担心不同人的电脑环境不一致了,docker可以保证所有人的电脑运行的容器都是在同一个环境下的。不必再担心一台电脑上安装有两个或以上的nginx或两个以上的jenkins,新的旧的不知道哪个是对的。不敢乱动,因为担心弄坏。任何熟悉docker的人都能很快的用相同的命令管理这一切的软件,无论是项目还是软件,jenkins,dns,nginx,redis,gitlab,node通通收在容器内,即可做为项目运行,也可以单独的做为一个固化的运行或编译环境。

4、更加的安全

因为与宿主的隔离,对于权限问题,所有的应用都被封在内部网络,病毒木马和黑客无法突破容器内的限制,除非你主动开放,那么它很难成功发起攻击。

docker的安装和环境选择?

一、为什么应该使用linux安装部署而不是直接安装在windows/mac上

docker本身只支持linux系统,其运行在windows/mac上是通过建立一个虚拟机运行的,对机器的资源消耗非常大,新版本或许可以原生支持,但仍然对机器消耗大,且存在很多不稳定因素。所以建议,直接安装在linux上,并且固定在linux发行版centos7上面,不同的发行版,都不太一样,有很多坑。。

二、centos安装时的注意事项

centos的安装,直接通过一键安装脚本。一般没有其它特别的问题,有可能因为docker-registry的网络问题导致不能拉取镜像,此时换个时间段拉取,或建立私有docker-registry,存储镜像。

# 一键安装部署脚本

sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

sudo yum install docker-engine -y

service docker stop

service docker start

curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker及docker-compose常用命令介绍

docker exec -it 832dcf5f9ec1 /bin/bash 进入一个运行中的容器

docker exec -it 832dcf5f9ec1 /bin/sh

docker save kemao-dev/gitlab-runner > kemao-dev--gitlab-runner.tar.gz 导出镜像

Docker load < xx.tar 导入镜像

Docker export xx> xx.tar 导出容器

Docker import

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

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,530评论 15 147
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,499评论 0 120
  • 在我开始纠结要不要考研的时候,我又重新回到了2年前的那个命题——考什么。 2年前我畏畏缩缩的纠结好大一番,然后终于...
    钟悟空阅读 657评论 0 1
  • 拿什么拯救你,我的青春。 20岁的花季少女,校园里的大三老学姐,每天三点一线的生活,让自己像宅女的道路上逐渐靠拢,...
    排骨队阅读 274评论 0 0