写在前面的话 首先说一下,我本身是做运维的,4 年工作,多家公司.所以可能接下来谈到的更多的是一些在工作过程中积累的个人看法.且有些并不具备普遍性,有不合适的地方,全当我在吹牛逼就行. 一开始我们得谈谈为啥要学 docker?在 17/18 年,有两个东西在业内特别火,一个是区块链比特币,但是现在似乎凉的差不多了.另外一个就是 docker. 那火到什么程度呢?你要是出去找运维的工作说不会 docker,薪资直接降了一档的感觉.越来越多公司陶醉其中,吹牛逼也好,真牛逼也好.它终究已经变成了一种不…
上一篇 [1]循序渐进学 Zabbix :初识与基础依赖环境搭建( LNMP ) 安装 Zabbix Server 上篇我们在 192.168.200.101 上面安装了 Zabbix 所依赖的 LNMP 环境且已经能够正常使用,那么本章就正式进入我们真正 Zabbix 的安装! 在安装之前,我们可以先简单的扯一下 Zabbix 的工作流程,如下图: 简单的说就是 Zabbix Agent 客户端将监控项目的数据传输给 Zabbix Server 服务端,Zabbix Server 将它保存到数…
写在前面的话 我们接下来的操作都是 CentOS 7.5 以下完成的,为了避免你我结果不一致,建议你也采用 CentOS 7.5,原因如下: 1. 个人几年工作下来经历的公司,包括身边的运维朋友,90% 以上都采用 CentOS 作为服务器的操作系统. 2. 说到 docker,很多人会想到 Ubuntu,但个人不建议使用 Ubuntu,Ubuntu 更适用于个人用户. 3. 老资料中会看到 docker 在 Ubuntu 的文件存储驱动 AUFS 相比 CentOS devicemapper…
写在前面的话 至此,docker 的基础知识已经了解的差不多了,接下来就来谈谈对于 docker 容器,我们如何来管理它. docker swarm 在学习 docker swarm 之前,得先知道容器编排工具的作用:提供了基于容器调度和集群的技术,并编排容器之间如何进行交互. docker swarm 不是唯一的容器编排工具,但却是 docker 自带的容器编排工具. 可以看看它的主要结构(图片来自互联网): docker swarm 以集群的形式运行,包括两个角色:Manager 和 wor…
写在前面的话 在之前的操作中,即使是单个容器每次都需要敲很长的命令,当需要多个容器组合着用的时候更加麻烦,此时我们急需找到一种一次配置,随便运行的方法. 这就是这一节重点,单机容器编排工具:docker-compose. 安装使用 docker-compose 官方文档如下: https://docs.docker.com/compose/install/ 安装 docker-compose,其实就是一个脚本: # 下载脚本和修改权限 curl -L "https://github.com/do…
写在前面的话 学到这里相信有心的朋友都发现问题了,我们每次都会去删掉容器,在创建新的容器.那数据怎么办?岂不删库跑路了? 就算不是数据库,假设公司有日志保留的需求,那每一次发布岂不日志都被干掉了? Data volume MySQL 镜像的官方文档如下,其中涉及到很多参数也是上面的: https://github.com/docker-library/docs/tree/master/mysql 该配置项对应到 Dockerfile 中的关键字就是 VOLUME,后面会详细学习,以下是 MySQ…
写在前面的话 目前解决容器跨主机通信的方案有很多种,这里给出的只是其中的一种,而且还不是最好的方案,不过归根结底,大同小异.在学习 docker swarm 之前,大家可以先看看这种. 啥是 overlay 和 etcd 从这里开始正式引入 overlay 网络这个概念,那啥是 overlay 呢? 可以这样理解,在原本主机通信之上开通的通信隧道,覆盖于原本的主机网络之上,所以叫 overlay. 那 etcd 又是啥?它源于 zookeeper,一个用于分享配置和服务发现的分布式一致性 KV…
写在前面的话 在上一篇学习 Dockerfile 的时候其实还有几个相当重要得关键中没有谈到,但没关系,在后面的内容会单独提出来一个一个的学习.这里就先谈谈关于资源的控制个容器的网络~ 资源限制 其实对于容器的资源使用,无外乎在意 3 个方面,内存,CPU,IO,但 IO 很多时候是没法避免的,所以更多的还是通过内存和 CPU来进行资源限制. [1]限制内存: docker run --memory=200M centos --memory:配置 200M,但这并不意味容器最大内存是 200M,…
写在前面的话 之前谈了啥是 docker 和怎么安装 docker,这里就谈谈 docker 命令的使用,当然,这里的使用可能只是局限于 docker 的增删查改. 另外需要注意的是,为了图片的美观,接下来的截图有些图片可能是经过我处理过的,只保留了重要的内容,所有如果你发现和我的结果不一致,也不需要担心,是那个意思就行. 镜像命令 [1]万物起源于 Hello world,运行第一个容器: docker run hello-world 输出如图: 这是一个类似于 demo 容器,docker…
写在前面的话 从前面我们简单的了解了镜像,也运行了容器,各种官方的镜像显然无法满足我们自己的需求,我们目的终究是运行自己的业务. 所以,本章节的 Dockerfile 就主要讲怎么在官方镜像的基础上制作我们自己需要的镜像,当然,这里说的只是 Dockerfile 一部分,后续我们会慢慢完善. 将现有容器制作成镜像 制作镜像的方法主要有两种,这是第一种,但不推荐,仅作了解~ [1]运行一个想修改的镜像: docker run -it --name b2 busybox /bin/sh 在容器中新建…