1. 创建Swarm集群

Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体, 并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源。

Portainer 是一款轻量级的 Docker 图形化管理的方案, 部署 Portainer 和 Portainer Agent 来管理 Swarm 集群很容易! 您可以将 Portainer 作为服务直接部署在 Docker 集群中。请注意,此方法将自动部署 Portainer Server 的单个实例, 并将 Portainer Agent 作为全局服务部署到群集中的每个节点上。

前提要求:

  1. 服务器上必须先装有 docker, 因为各种版本

  2. 镜像服务使用的是阿里云的容器镜像服务,需要开通此服务。到时的自动构建都会借此服务。

初始化swarm集群:

$ docker swarm init --advertise-addr 192.168.0.150 #这个IP是你本机IP 可以ip -a查看

验证是否swarm是否初始化成功,查看节点是否挂载:

$ docker node ls
ID                            HOSTNAME                  STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
xbf82bf03t6r7mrvxzxmkv9mm *   iZbp12d0p2o2at8bmvb033Z   Ready               Active              Leader              19.03.5

创建一个专有网络:

$ docker network create --driver overlay www_net

创建 overlay: www_net 网络的用处,是给这些docker创建一个内网可相互访问的条件。

比如场景 nginxwebredis 三个微应用。需求是 nginxweb 需要内网相互访问, 但是 nginxredis 不需要访问的,而 web 它与 redis 是需要访问的, 就可以配置 nginx: a_net 网络, web: a_net,b_net 两个网络, redis: b_net 网络。这样就可以达到需求了。