docker三剑客 docker-machine安装&管理swarm

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker三剑客 docker-machine安装&管理swarm相关的知识,希望对你有一定的参考价值。

ubuntu     系统类型

test                       docker管理操作用户

192.168.1.73   swarm-node

192.168.1.80   swarm-master

1、swarm-master 创建集群

1.1 切换切换活跃主机

[email protected]:~$ docker-machine ls
NAME   ACTIVE   DRIVER    STATE     URL                       SWARM   DOCKER        ERRORS
73     *        generic   Running   tcp://192.168.1.73:2376           v17.06.0-ce   
80     -        generic   Running   tcp://192.168.1.80:2376           v17.06.0-ce   
[email protected]:~$ docker-machine active 80
Error: Too many arguments given
[email protected]:~$ docker-machine active 
73
[email protected]:~$ eval $(docker-machine env 80)
[email protected]:~$ docker-machine active 
80

1.2创建swarn镜像

[email protected]:~$ docker run swarm create
Unable to find image swarm:latest locally
latest: Pulling from library/swarm
248cc99c8148: Pull complete 
0aeceddbda61: Pull complete 
c90a34ed5817: Pull complete 
Digest: sha256:02040b8e8292aacb6e30be8babd613f1c253a3ec665d2fbc178d1745810fdd29
Status: Downloaded newer image for swarm:latest
Token based discovery is now deprecated and might be removed in the future.
It will be replaced by a default discovery backed by Docker Swarm Mode.
Other mechanisms such as consul and etcd will continue to work as expected.
3e2a3fa482c1994ad5ee684f120e27c4

#最后一行为CLUSTER_ID一定保留下好,下面增加节点都会用到

 1.3增加主控节点swarm-master
[email protected]:~$ docker-machine create --driver generic --swarm --swarm-master --swarm-discovery token://3e2a3fa482c1994ad5ee684f120e27c4 swarm-master
Error setting machine configuration from flags provided: generic driver requires the --generic-ip-address option
[email protected]:~$ docker-machine create --driver generic  --generic-ip-address=192.168.1.80   --generic-ssh-key ~/.ssh/id_rsa  --generic-ssh-user=test --swarm --swarm-master --swarm-discovery token://3e2a3fa482c1994ad5ee684f120e27c4 swarm-master
Running pre-create checks...
Creating machine...
(swarm-master) Importing SSH key...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Configuring swarm...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env swarm-master
[email protected]:~$ docker-machine ls
NAME           ACTIVE   DRIVER    STATE     URL                       SWARM                   DOCKER        ERRORS
73             -        generic   Running   tcp://192.168.1.73:2376                           v17.06.0-ce   
80             *        generic   Running   tcp://192.168.1.80:2376                           v17.06.0-ce   
swarm-master   *        generic   Running   tcp://192.168.1.80:2376   swarm-master (master)   v17.06.0-ce 

1.4 增加swarm节点

#普通节点没有--swarm-master选项

[email protected]:~$ docker-machine create --driver generic  --generic-ip-address=192.168.1.73   --generic-ssh-key ~/.ssh/id_rsa  --generic-ssh-user=test --swarm --swarm-discovery token://3e2a3fa482c1994ad5ee684f120e27c4 swarm-node1
Running pre-create checks...
Creating machine...
(swarm-node1) Importing SSH key...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Configuring swarm...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env swarm-node1
[email protected]:~$ docker-machine ls
NAME           ACTIVE   DRIVER    STATE     URL                       SWARM                   DOCKER        ERRORS
swarm-master   *        generic   Running   tcp://192.168.1.80:2376   swarm-master (master)   v17.06.0-ce   
swarm-node1    -        generic   Running   tcp://192.168.1.73:2376   swarm-master            v17.06.0-ce   

1.5 查看swarm状态

[email protected]:~$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
0jmswkqce9cqjvri9awdm37ty     swarm-node1         Ready               Active              
69nkaqu3ivfmty5isz0ug0oiw *   swarm-master        Ready               Active              Leader

2管理swarm

2.1退出集群

[email protected]:~$ docker swarm  leave --force
Node left the swarm.

#使用docker-machine切换环境分别在swarm-node1,swarn-master退出集群,以下仅涉及到切换环境不提供代码参见1.1

2.2 swarm-master建立集群

[email protected]:~$ docker swarm  init
Swarm initialized: current node (69nkaqu3ivfmty5isz0ug0oiw) is now a manager.

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

    docker swarm join --token SWMTKN-1-1qj2mfe14jw2tzhg1fxpqiyhxpnm4bqhrhae0dtpp6ip9og4s3-btyj7t5304eyeuhrl4dw1vx1l 192.168.1.80:2377

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

#同样token很重要,不要丢失,docker代码提示很明白,加入集群命令摆在那里

2.3 swarm-node1 加入集群

[email protected]:~$ docker swarm join --token SWMTKN-1-1qj2mfe14jw2tzhg1fxpqiyhxpnm4bqhrhae0dtpp6ip9og4s3-btyj7t5304eyeuhrl4dw1vx1l 192.168.1.80:2377
This node joined a swarm as a worker.
[email protected]:~$ eval $(docker-machine env swarm-master)
[email protected]:~$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
0jmswkqce9cqjvri9awdm37ty     swarm-node1         Ready               Active              
69nkaqu3ivfmty5isz0ug0oiw *   swarm-master        Ready               Active              Leader

 

 

 
 
 
 
 
 

以上是关于docker三剑客 docker-machine安装&管理swarm的主要内容,如果未能解决你的问题,请参考以下文章

容器技术|Docker三剑客之docker-machine

企业运维实战--Docker三剑客一之docker-machine

docker三剑客 docker-machine安装&管理swarm

docker swarn集群笔记

docker三剑客之应用machine,compose,swarm

Docker 三剑客