Docker 自修笔记(三)

来源:互联网 发布:数据库查询学号去重复 编辑:程序博客网 时间:2024/04/28 21:33

本博客为JDGan自修Docker的笔记,如有粗鄙之处,还请见谅~

阅读本博客前,请确定掌握了前一篇blog:docker 服务。

  • Docker 集群
    • 配置集群
    • 发布 app 到集群

Docker 集群

Docker 里,群是一组运行着 Docker 的计算机,再把这个运行着的群,加入到一个群组里,集中起来管理,就是Docker 的集群。这样一个一个的群,称为 nodes,而发起并集中管理的 node,称为 swarm manager,其他 node 称为 worker。worker 没有操作集群的权限。

配置集群

作为 swarm manager 启动集群

$ docker swarm init 

作为 swarm manager 指定 ip 启动集群

$ docker swarm init --advertise-addr <ip>:<port>

作为 worker 加入指定集群

$ docker swarm join --token <token> <ip>:<port>

在 swarm manager 中查看所有 nodes

$ docker node ls

发布 app 到集群

集群启动完成以后,可以直接使用例如上一章用到的docker-compose.yml,放到 swarm manager 的 home directory。

version: "3"services:  web:    image: $username/$repository:$tag    deploy:      replicas: 5      resources:        limits:          cpus: "0.1"          memory: 50M      restart_policy:        condition: on-failure    ports:      - "80:80"    networks:      - webnetnetworks:  webnet:

类似的,用下面的命令部署 app

$ docker stack deploy -c docker-compose.yml getstartedlab

成功后即可查看

$ docker stack ps getstartedlabID            NAME        IMAGE              NODE   DESIRED STATEmuc0g4py7u6g  test_web.1  username/repo:tag  node1  Runningsil8jzmjqxpt  test_web.2  username/repo:tag  node2  Runningvryfp1iz6e5a  test_web.3  username/repo:tag  node2  Runningnb3bnumfosed  test_web.4  username/repo:tag  node1  Runningkhoxuflpcqgb  test_web.5  username/repo:tag  node2  Running

退出 app

$ docker stack rm getstartedlab

退出集群,集群控制器最好使用--force

$ docker swarm leave --force

原创粉丝点击