Docker 标签

Docker Swarm 部署 micro 微服务应用 有更新!

微服务应用使用容器部署非常方便,但是当应用服务注册自身地址(ip:port)到服务注册中心的时候,如果注册的是容器内的ip,别的服务是无法访问到的。

解决这个问题,可以在运行容器的时候指定网络模式为 host (--net=host) ,这样就可以跳过 Docker 的独立网络栈,直接通过本机IP端口就可以访问,但是这样会大量占用本地端口。

最好的场景还是后端服务都在容器网络中,仅 API 网关暴露一个端口供外部访问,但是同时还后端服务还需要能实现跨机器的网络连通。

早期 Docker 本身的容器网络本身并不支持跨机器,也就是说明如果容器部署在不同的节点(服务器)上面,只能通过暴露端口到宿主机上,再通过宿主机之间进行通信。Docker 12.0 之后的版本自带 Docker Swarm,Docker Swarm 的 Overlay 网络驱动可以实现跨主机网络通信。Kubernetes 固然好,但是同时也非常重,学习成本也很大,Swarm 在小项目中还是有用武之地的。

阅读全文 »