摘要: [TOC] 一、Docker Swarm 概念 1、集群 从主机的层面来看,Docker Swarm 管理的是 Docker Host 集群。所以先来讨论一个重要的概念 集群化(Clustering)。 服务器集群由一组网络上相互连接的服务器组成,它们一起协同工作。一个集群和一堆服务器最显著的区别在 阅读全文
posted @ 2018-12-20 15:01 小水滴18 阅读(919) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、跨主机网络概述 前面已经学习了 Docker 的几种网络方案:none、host、bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题。本章的重点则是讨论跨主机容器间通信的方案。 docker 原生的 overlay 和 macvlan。 第 阅读全文
posted @ 2018-12-20 14:59 小水滴18 阅读(899) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、Docker Machine 总览 前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的。但在真正的环境中会有多个 host,容器在这些 host 中启动、运行、停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host。 用 阅读全文
posted @ 2018-12-20 14:58 小水滴18 阅读(300) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、storage driver 作用 正常情况下,只有很少量的数据被写入到容器最上层的写入层,并且通过 volume 来写数据,然而我们也会遇到一些情况需要我们可以直接写入到容器的写入层,这我们就需要到了 storage driver 来帮忙。 Docker 使用一些列不同的 stor 阅读全文
posted @ 2018-12-20 14:56 小水滴18 阅读(498) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、Docker 数据存储 我们都知道 Docker 的数据可以存在容器的可写层,但是也存在以下几点不足: 1. 当该容器不再运行时,数据将不会持久存储,如果另一个进程需要它,就很难将数据从容器中取出。 1. 容器的可写层与 Docker Host 在容器运行时紧密耦合,你不能轻易地把数 阅读全文
posted @ 2018-12-20 14:51 小水滴18 阅读(993) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、容器间通信 1、IP 通信 两个容器要能通信,必须要有属于同一个网络的网卡。满足这个条件后,容器就可以通过 IP 交互了。具体做法是在容器创建时通过 指定相应的网络,或者通过 将现有容器加入到指定网络。 2、Docker DNS Server 通过 IP 访问容器虽然满足了通信的需求 阅读全文
posted @ 2018-12-20 14:44 小水滴18 阅读(464) 评论(0) 推荐(0) 编辑
摘要: [TOC] Docker 通过网络驱动来支持容器的网络通信,默认情况下,Docker 提供两种网络驱动供我们使用,一个是 bridge,一个是 overlay。我们也可以自己写一个网络驱动插件,如果你足够大牛的话。 Docker 安装时会自动在 host 上创建三个网络,我们可用 命令查看: 一、n 阅读全文
posted @ 2018-12-20 14:42 小水滴18 阅读(443) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、简介 Linux Namespace 是 Linux 提供的一种内核级别环境隔离的方法。不知道你是否还记得很早以前的 Unix 有一个叫 chroot 的系统调用(通过修改根目录把用户 jail 到一个特定目录下),chroot 提供了一种简单的隔离模式:chroot 内部的文件系统 阅读全文
posted @ 2018-12-20 14:41 小水滴18 阅读(554) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、cgroup简介 docker 通过 cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。 cgroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如 阅读全文
posted @ 2018-12-20 14:40 小水滴18 阅读(1226) 评论(0) 推荐(1) 编辑
摘要: [TOC] 一、运行容器 1、运行第一个容器 现在,让我们尝试启动第一个 Docker 容器。我们可以使用 命令创建容器, 命令提供了 Docker 容器的创建到启动的功能。 容器启动时执行 /bin/bash,我们会进入容器的交互界面,我们可以通过 exit 退出容器。执行 可以查看正在运行的容器 阅读全文
posted @ 2018-12-20 14:37 小水滴18 阅读(356) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、搜索镜像 很多情况下我们可能需要下载某一类别的镜像,这时候我们就会用到搜索功能,也可以去 docker hub 官网页面搜索。 使用语法如下。 我们可以看到,第一个镜像是没有用户名的,并且 OFFICIAL 是 OK,这样的镜像是由 Docker 公司进行维护的。 二、下载镜像 使用 阅读全文
posted @ 2018-12-20 14:35 小水滴18 阅读(289) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、为镜像命名 无论采用何种方式保存和分发镜像,首先都得给镜像命名。 当我们执行 docker build 命令时已经为镜像取了个名字,例如前面: 这里的 ubuntu_with_apache_dockerfile 就是镜像的名字。通过 可以查看镜像的信息。 这里注意到 ubuntu_w 阅读全文
posted @ 2018-12-20 14:22 小水滴18 阅读(1081) 评论(0) 推荐(1) 编辑
摘要: [TOC] 构建镜像 前面我们使用各种镜像进行测试演示,很多情况下我们是需要自己的镜像,满足自己业务需要的镜像,这就需要我们能够定制自己需要的镜像,构建 Docker 镜像有以下两种方法。 使用 docker commit 命令。 使用 docker build 命令和 Dockerfile 构建文 阅读全文
posted @ 2018-12-20 14:19 小水滴18 阅读(373) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、base镜像 base 镜像简单来说就是不依赖其他任何镜像,完全从0开始建起,其他镜像都是建立在他的之上,可以比喻为大楼的地基,docker镜像的鼻祖。 base 镜像有两层含义:(1)不依赖其他镜像,从 scratch 构建;(2)其他镜像可以之为基础进行扩展。 所以,能称作 ba 阅读全文
posted @ 2018-12-20 14:16 小水滴18 阅读(526) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、初步了解 1、docker run运行容器 我们运行第一个 docker 容器 hello world,过程如下图: 1.Docker 客户端执行 docker run 命令。 2.Docker daemon 发现本地没有 hello world 镜像。 3.daemon 从 Doc 阅读全文
posted @ 2018-12-20 14:01 小水滴18 阅读(318) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、什么是Dcoker 相信docker是什么大家都已经比较清楚了,网上有很详细的介绍,我这里只是大概描述一下。 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机 阅读全文
posted @ 2018-12-20 13:58 小水滴18 阅读(334) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、容器核心技术 一谈到容器,我们都会想到 Docker。 Docker 现在几乎是容器的代名词。确实,是 Docker 将容器技术发扬光大。同时,我们也需要知道围绕 Docker 还有一个生态系统。Docker 是这个生态系统的基石,但完善的生态系统才是保障 Docker 以及容器技术 阅读全文
posted @ 2018-12-20 13:48 小水滴18 阅读(513) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1、设置时区 2、配置内网IP (如果是外网IP,linux要修改远程端口) 3、配置自己的yum源 如何需要最新版本的rpm包,请安装下面的仓库 4、关闭SELinux 5、添加zabbix监控 6、关闭防火墙和NM 7、安装软件包 8、时间同步任务 9、配置主机名 10、修改文件句柄 阅读全文
posted @ 2018-12-20 11:10 小水滴18 阅读(806) 评论(0) 推荐(1) 编辑
摘要: 1、设置时区 2、配置内网IP (如果是外网IP,linux要修改远程端口) 3、配置自己的yum源 或者 如何需要最新版本的rpm包,请安装下面的仓库 4、关闭SELinux 5、添加zabbix监控 6、配置防火墙 7、安装软件包 8、配置定时任务 9、配置主机名 10、修改文件句柄数 11、可 阅读全文
posted @ 2018-12-20 11:10 小水滴18 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1、设定时区 2、配置apt get源 3、修改主机名 4、安装软件包 5、开启root登录 Ubuntu 14.04 Ubuntu 16.04 重启服务 6、踢出终端tty用户 7、删除普通用户 8、时间同步 9、安装监控系统 10、配置pip国内源 mkdir .pip cat .pip/pip 阅读全文
posted @ 2018-12-20 11:04 小水滴18 阅读(487) 评论(0) 推荐(0) 编辑