Docker 100 问 系列二:Docker Compose 相关问题

原文作者:蜗牛(QQ2107553024)
原文转自: https://blog.lab99.org/post/docker-2016-07... (网站空间已过期)

《Docker 100 问》系列文章:

  1. 你那个 LNMP 例子中的 docker-compose.yml 中有好多 networks,都是什么意思啊?
  2. 使用 Compose 的时候碰到 “An HTTP request took too long to complete….” 错误,怎么办?

1. 你那个 LNMP 例子中的 docker-compose.yml 中有好多 networks,都是什么意思啊?

我写的 LNMP 多容器互通的例子: https://coding.net/u/twang2218/p/docker-ln...

前面 services 下的每个服务下面的 networks,是说这个服务要接到哪个网络上。而最后的那个总的networks下面的,是这几个网络的定义。

也就是说,nginx 接到了名为 frontend 的前端网络;mysql 接到了名为 backend 的后端网络;而作为中间的 php 既需要和 nginx 通讯,又需要和 mysql 通讯,所以同时连接了 frontend 和 backend 网络。由于 nginx 和 mysql 不处于同一网络,所以二者无法通讯,起到了隔离的作用。

关于 Docker 自定义网络,你可以看一下官方文档的介绍:https://docs.docker.com/engine/userguide/n...

关于在 Docker Compose 中使用自定义网络的部分,可以看官方这部分文档:https://docs.docker.com/compose/networking...* * * * *

2. 使用 Compose 的时候碰到 “An HTTP request took too long to complete….” 错误,怎么办?

Compose 的请求超时时限是可以配置的:

export COMPOSE_HTTP_TIMEOUT=120

不过,这不是问题的解决办法,因为一般情况下不应该超时,超时的原因是因为所访问的 Docker Engine 过于繁忙,而无法响应 Compose 的请求。应该检查具体 Docker Engine 出了什么问题,是不是还在用着 CentOS 默认的 device mapper 的 loop 设备,等等。

(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!