Docker 自修笔记(三)

本博客为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 :

作为 worker 加入指定集群

$ docker swarm join --token  :

在 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:
      - webnet
networks:
  webnet:

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

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

成功后即可查看

$ docker stack ps getstartedlab
ID            NAME        IMAGE              NODE   DESIRED STATE
muc0g4py7u6g  test_web.1  username/repo:tag  node1  Running
sil8jzmjqxpt  test_web.2  username/repo:tag  node2  Running
vryfp1iz6e5a  test_web.3  username/repo:tag  node2  Running
nb3bnumfosed  test_web.4  username/repo:tag  node1  Running
khoxuflpcqgb  test_web.5  username/repo:tag  node2  Running

退出 app

$ docker stack rm getstartedlab

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

$ docker swarm leave --force

你可能感兴趣的:(后端)