通过前面小节的实践,当前dockerhost的网络拓扑结构如下图所示,今天我们将讨论这几个容器之间的连通性。两个busybox容器都挂在my_net2上,应该能够互通,我们验证一下:可见同一网络中的容器、网关之间都是可以通信的。my_net2与默认bridge网络能通信吗?从拓扑图可知,两个网..
分类:
其他好文 时间:
2017-06-28 10:04:29
阅读次数:
181
上一节我们讨论了none和host类型的容器网络,本节学习应用最广泛也是默认的bridge网络。Docker安装时会创建一个命名为docker0的linuxbridge。如果不指定--network,创建的容器默认都会挂到docker0上。当前docker0上没有任何其他网络设备,我们创建一个容器看看有什么变化。一个..
分类:
其他好文 时间:
2017-06-23 10:33:03
阅读次数:
190
本章开始讨论Docker网络。我们会首先学习Docker提供的几种原生网络,以及如何创建自定义网络。然后探讨容器之间如何通信,以及容器与外界如何交互。Docker网络从覆盖范围可分为单个host上的容器网络和跨多个host的网络,本章重点讨论前一种。对于更为复杂的多host容器网络,我..
分类:
其他好文 时间:
2017-06-21 11:31:34
阅读次数:
140
为了更好地理解容器的特性,本节我们将讨论容器的底层实现技术。cgroup和namespace是最重要的两种技术。cgroup实现资源限额,namespace实现资源隔离。cgroupcgroup全称ControlGroup。Linux操作系统通过cgroup可以设置进程使用CPU、内存和IO资源的限额。相信你已经猜到了:前面..
分类:
其他好文 时间:
2017-06-19 09:55:11
阅读次数:
115
前面学习了如何限制容器对内存和CPU的使用,本节我们来看BlockIO。BlockIO是另一种可以限制容器使用的资源。BlockIO指的是磁盘的读写,docker可通过设置权重、限制bps和iops的方式控制容器读写磁盘的带宽,下面分别讨论。注:目前BlockIO限额只对directIO(不使用文件缓存)有..
分类:
其他好文 时间:
2017-06-16 10:16:52
阅读次数:
139
上节学习了如何限制容器对内存的使用,本节我们来看CPU。默认设置下,所有容器可以平等地使用hostCPU资源并且没有限制。Docker可以通过-c或--cpu-shares设置容器使用CPU的权重。如果不指定,默认值为1024。与内存限额不同,通过-c设置的cpushare并不是CPU资源的绝对数量,而是..
分类:
其他好文 时间:
2017-06-14 10:13:37
阅读次数:
262
前面讨论了如何运行容器,本节学习容器的其他常用操作。stop/start/restart容器通过dockerstop可以停止运行的容器。容器在dockerhost中实际上是一个进程,dockerstop命令本质上是向该进程发送一个SIGTERM信号。如果想快速停止容器,可使用dockerkill命令,其作用是向容器进程发..
分类:
其他好文 时间:
2017-06-07 21:41:44
阅读次数:
137
我们经常需要进到容器里去做一些工作,比如查看日志、调试、启动其他进程等。有两种方法进入容器:attach和exec。dockerattach通过dockerattach可以attach到容器启动命令的终端,例如:这次我们通过“长ID”attach到了容器的启动命令终端,之后看到的是echo每隔一秒打印的信息..
分类:
其他好文 时间:
2017-06-02 09:51:22
阅读次数:
245
上一章我们学习了如何构建Docker镜像,并通过镜像运行容器。本章将深入讨论容器:学习容器的各种操作,容器各种状态之间如何转换,以及实现容器的底层技术。运行容器dockerrun是启动容器的方法。在讨论Dockerfile时我们已经学习到,可用三种方式指定容器启动时执行的命令:CMD..
分类:
其他好文 时间:
2017-05-31 15:31:32
阅读次数:
132
本节我们对Docker镜像做个小结。这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用DockerHub和本地registry。下面是镜像的常用操作子命令:p_w_picpaths显示镜像列表history显示镜像构建历史commit从容器创建新镜像build从Dockerfile构建镜像tag给..
分类:
其他好文 时间:
2017-05-29 10:02:49
阅读次数:
167