优质广告供应商

广告是为了更好地支持作者创作

docker swarm集群创建

环境说明:

IP 主机名
192.168.111.152 docker-node1
192.168.111.153 docker-node2
192.168.111.154 docker-node3

docker-node1作为swarm管理节点

创建集群

创建主节点

[root@docker-node1 ~]# docker swarm init --advertise-addr 192.168.111.152
Swarm initialized: current node (ntnheq4yt2r4sr2aml1l13rkt) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-1f3thb4mu0rfzlh3mn14i2xkn2q8yvz1r5c438x3zqsbu3dybt-0z6ie4bn7yb20pc1xnsed8z1s \
    192.168.111.152:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

将node节点加入集群

[root@docker-node2 ~]# docker swarm join \
    --token SWMTKN-1-1f3thb4mu0rfzlh3mn14i2xkn2q8yvz1r5c438x3zqsbu3dybt-0z6ie4bn7yb20pc1xnsed8z1s \
    192.168.111.152:2377
    
[root@docker-node3 ~]# docker swarm join \
    --token SWMTKN-1-1f3thb4mu0rfzlh3mn14i2xkn2q8yvz1r5c438x3zqsbu3dybt-0z6ie4bn7yb20pc1xnsed8z1s \
    192.168.111.152:2377

在主节点查看集群信息

[root@docker-node1 ~]# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
2mfuq3t5oidnxasut31689ow1     docker-node3        Ready               Active
cdp0z0tpqmfc5lpuzdd4gpk0x     docker-node2        Ready               Active
ntnheq4yt2r4sr2aml1l13rkt *   docker-node1        Ready               Active              Leader

查看将节点加入集群命令

[root@docker-node1 ~]# docker swarm join-token worker
To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-1f3thb4mu0rfzlh3mn14i2xkn2q8yvz1r5c438x3zqsbu3dybt-0z6ie4bn7yb20pc1xnsed8z1s \
    192.168.111.152:2377

集群中创建容器

[root@docker-node1 ~]# docker service create --replicas 1 --name nginx -d nginx
  • replicas: 创建副本数量

查看各节点容器分布状况

[root@docker-node1 ~]# docker service ps nginx
ID                  NAME                IMAGE              NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
js69hnpp9pf7        nginx.1             nginx:latest       docker-node3        Running             Running 27 minutes ago
qznuk4gl6osp        nginx.2             nginx:latest       docker-node2        Running             Running 27 minutes ago

将节点移出集群

[root@docker-node1 ~]# docker swarm leave

swarm集群自定义网络

因集群中跨主机间的docker容器网络不通,所以需要通过自定义网络将各主机间的容器连到同一个网段

查看docker 默认网络

[root@docker-node1 ~]# docker network list
NETWORK ID          NAME                DRIVER              SCOPE
2145cfc9514e        bridge              bridge              local
60a6c66c590d        docker_gwbridge     bridge              local
3ef8c4c1c66e        host                host                local
7wsqirbzvzvu        ingress             overlay             swarm
665ae0d15f1b        none                null                local

添加自定义网络

[root@docker-node1 ~]# docker network create --driver overlay mynet

创建容器,并将容器加入自定义网络

[root@docker-node1 ~]# docker service create --replicas 2 --network mynet --name nginx -d nginx

优质广告供应商

广告是为了更好地支持作者创作

推荐阅读更多精彩内容

  • 前两篇东西,我们分别介绍了Mesos和Dockers的安装和使用。在《Mesos实战》这篇的结尾,我说过将会介绍如...
    燕京教育阅读 963评论 0 2
  • Docker在1.9版本中引入了一整套的自定义网络命令和跨主机网络支持。这是libnetwork项目从Docker...
    灵雀云阅读 2,312评论 2 7
  • 优质广告供应商

    广告是为了更好地支持作者创作

  • 懂得了很多道理,仍然过不好这一生?有多少人口里或内心发出这种感叹的?可是有人想过为什么吗? 这是因为:一.很多道...
    不哭的蒲公英阅读 280评论 0 0
  • 读书分享14:第一章 什么是人格智商 作者在阐述了人格智商意义后,描述了他和他实验室的同事们为证明人格智商存...
    晚秋176阅读 118评论 0 0
  • 历时一周多的河北探亲之行,今日落下大幕。我又要踏上返乡的归程。 回乡的路上,给婆婆打电话。说了些鸡毛蒜皮的琐碎...
    燕语诗心阅读 128评论 0 1