Docker进阶Swarm、Stack、Secret、Config

x33g5p2x  于2022-02-14 转载在 Docker  
字(3.4k)|赞(0)|评价(0)|浏览(391)

1 Swarm介绍

安装docker
https://blog.csdn.net/zx77588023/article/details/122652560

1.1 Warm文档

https://docs.docker.com/config/daemon/prometheus/

Run your app in production -> Configure containers -> Scale your app

1.2 工作模式


Raft:一致性算法

1.3 购买服务器

集群
2主2从

2 搭建集群

  1. [root@VM-0-14-centos ~]# docker swarm --help
  2. Usage: docker swarm COMMAND
  3. Manage Swarm
  4. Commands:
  5. ca Display and rotate the root CA
  6. init Initialize a swarm
  7. join Join a swarm as a node and/or manager
  8. join-token Manage join tokens
  9. leave Leave the swarm
  10. unlock Unlock swarm
  11. unlock-key Manage the unlock key
  12. update Update the swarm
  13. Run 'docker swarm COMMAND --help' for more information on a command.
  1. [root@VM-0-14-centos ~]# docker swarm init --help
  2. Usage: docker swarm init [OPTIONS]
  3. Initialize a swarm
  4. Options:
  5. --advertise-addr string # 广播地址 Advertised address (format: <ip|interface>[:port])
  6. --autolock Enable manager autolocking (requiring an unlock key to start a
  7. stopped manager)
  8. --availability string Availability of the node ("active"|"pause"|"drain") (default "active")
  9. --cert-expiry duration Validity period for node certificates (ns|us|ms|s|m|h) (default
  10. 2160h0m0s)
  11. --data-path-addr string Address or interface to use for data path traffic (format:
  12. <ip|interface>)
  13. --data-path-port uint32 Port number to use for data path traffic (1024 - 49151). If no
  14. value is set or is set to 0, the default port (4789) is used.
  15. --default-addr-pool ipNetSlice default address pool in CIDR format (default [])
  16. --default-addr-pool-mask-length uint32 default address pool subnet mask length (default 24)
  17. --dispatcher-heartbeat duration Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)
  18. --external-ca external-ca Specifications of one or more certificate signing endpoints
  19. --force-new-cluster Force create a new cluster from current state
  20. --listen-addr node-addr Listen address (format: <ip|interface>[:port]) (default 0.0.0.0:2377)
  21. --max-snapshots uint Number of additional Raft snapshots to retain
  22. --snapshot-interval uint # 快照 Number of log entries between Raft snapshots (default 10000)
  23. --task-history-limit int Task history retention limit (default 5)
  1. # 初始化主节点
  2. docker swarm init
  3. # 加入一个节点(管理者、worker)
  4. docker swarm join
  5. # 获取令牌
  6. docker swarm join-token manager # 生成加入 manager节点 命令
  7. docker swarm join-token worker # 生成加入 worker 节点 命令

将dokcer1设置为主节点

  1. docker swarm init --advertise-addr 172.27.0.6

docker2加入1节点

  1. docker swarm join --token SWMTKN-1-6b1kbshfye331k4d86az2ohqvdwlj1bijsbka6hvb8h5ha4n28-e61bl5kpo7c1jbaj4hj8nizv1 172.27.0.6:2377

主节点查看所有节点

  1. docker node ls

3 Raft协议

双主双从:假设一个节点挂了!其他节点是否可以用: 不可用
Raft协议:保证大多数接待存货才可以用、只要>1,集群至少大于3台

关闭docker:测试挂机

  1. systemctl stop docker

退出集群

  1. docker swarm leave

故:至少3个主节点 多于1台机器存货

4 弹性、扩缩容、集群

docker-compose up:启动一个项目。单机

集群:swarm docker service

容器 => 服务 => 副本

帮助

  1. [root@VM-0-6-centos ~]# docker service --help
  2. Usage: docker service COMMAND
  3. Manage services
  4. Commands:
  5. create 创建一个 new service
  6. inspect 查看services细节
  7. logs 查看service日志
  8. ls List services
  9. ps List the tasks of one or more services
  10. rm Remove one or more services
  11. rollback Revert changes to a service's configuration
  12. scale 动态扩缩容 Scale one or multiple replicated services
  13. update 更行service
  14. Run 'docker service COMMAND --help' for more information on a command.

启动服务

  1. docker service create -p 8888:80 --name my-nginx nginx
  1. docker run 容器启动!不具有扩缩容
  2. docker service 服务!具有扩缩容,滚动更新

查看服务

  1. # REPLICAS:副本数目
  2. docker service ps ls
  3. docker service ps my-nginx
  4. # 查看服务 元数据
  5. docker service inspect my0nginx

更新副本数量

  1. docker service update --replicas 5 my-nginx
  2. docker service scale my-nginx=5

调整service 以什么方式运行

  1. dcoker service create --mode replicated --name mytom tomcat:7
  2. docker service create --mode global --name haha alpine ping baidu.com

Docker Stack

  1. # 单机
  2. docker-compose up -d wordpress.yaml
  3. # 集群
  4. docker-stack deploy wordpress.yaml

Docker Secret

学习地址:
https://www.bilibili.com/video/BV1kv411q7Qc

相关文章

最新文章

更多