标签:error 安装 stack 的区别 user pat 退出 RKE scp
这一节主要是介绍一下如何在集群模式下部署docker应用;集群的概念很好理解了,多台机器共同完成一项任务;和Hadoop那些集群一样,docker也相当于有一个管理机,下面有一些worker,docker集群的部署方式也类似。
所谓集群,肯定是多个机器,要在本地实现集群的效果,只能用虚拟机了;提到虚拟机,可以使用virtualbox创建虚拟机,但是并不需要安装virtualbox之后在那点鼠标创建xx虚拟机,使用docker的命令,以virtualbox为驱动就可以创建了;过程大致如下:
docker-machine create --driver virtualbox myvm1
docker-machine create --driver virtualbox myvm2
docker-machine ls
可以查看虚拟机列表,效果如下? docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 - virtualbox Running tcp://192.168.99.100:2376 v18.05.0-ce
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v18.05.0-ce
机器已经创建好了,就可以创建集群了,大致步骤如下:
? docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.100"
Swarm initialized: current node (erobf751l09mmidt60y8idg6i) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-5shucnjzwdjwyzpquec8k8obvauasnvlc7g81da84ucv6y6um5-crfqd1by0v3693jov5u24jf40 192.168.99.100:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
? docker-machine ssh myvm2 "docker swarm join --token SWMTKN-1-5shucnjzwdjwyzpquec8k8obvauasnvlc7g81da84ucv6y6um5-crfqd1by0v3693jov5u24jf40 192.168.99.100:2377"
This node joined a swarm as a worker.
? docker-machine ssh myvm1 "docker node ls"
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
erobf751l09mmidt60y8idg6i * myvm1 Ready Active Leader 18.05.0-ce
t7dioehz2db7wcs6lz4gzcg2y myvm2 Ready Active 18.05.0-ce
docker-machi ssh myvm2 "docker swarm leave"
之前与vm1/vm2通话的方式比较麻烦,现在可以通过docker-machine env <machine>
来直接沟通,与docker-machine ssh
的区别是:前者可以使用本地的docker-compose.yml
文件来配置集群,而不用将文件拷贝过去。大致方式如下:
? docker-machine env myvm1
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/wang/.docker/machine/machines/myvm1"
export DOCKER_MACHINE_NAME="myvm1"
# Run this command to configure your shell:
# eval $(docker-machine env myvm1)
? eval $(docker-machine env myvm1)
? docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.100:2376 v18.05.0-ce
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v18.05.0-ce
? docker stack deploy -c docker-compose.yml getstartedlab
Creating network getstartedlab_webnet
Creating service getstartedlab_web
docker stack ps xxx
来查看是否启动成功了,如下:? docker_file docker stack ps getstartedlab
zi9r49lihpf0 getstartedlab_web.1 btchild/get-started:part-2 myvm2 Running Preparing about a minute ago
vc3z9spbwjhk getstartedlab_web.2 btchild/get-started:part-2 myvm2 Running Preparing about a minute ago
s2fuh8z5leto getstartedlab_web.3 btchild/get-started:part-2 myvm1 Running Running about a minute ago
nhd3cpud5k28 getstartedlab_web.4 btchild/get-started:part-2 myvm1 Running Running 12 seconds ago
n3tcr1k8ieen getstartedlab_web.5 btchild/get-started:part-2 myvm1 Running Running about a minute ago
docker-machine scp file_name machine_name
来实现拷贝? docker_file docker stack rm getstartedlab
Removing service getstartedlab_web
Removing network getstartedlab_webnet
? docker_file eval $(docker-machine env -u)
docker-machine stop myvm1
来停用虚拟机docker-machine start myvm1
来启用虚拟机Docker 入门(Mac环境)- part 4 swarms
标签:error 安装 stack 的区别 user pat 退出 RKE scp
原文地址:https://www.cnblogs.com/wswang/p/9288105.html