- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
安装docker
https://blog.csdn.net/zx77588023/article/details/122652560
https://docs.docker.com/config/daemon/prometheus/
Run your app in production -> Configure containers -> Scale your app
Raft
:一致性算法
集群
2主2从
[root@VM-0-14-centos ~]# docker swarm --help
Usage: docker swarm COMMAND
Manage Swarm
Commands:
ca Display and rotate the root CA
init Initialize a swarm
join Join a swarm as a node and/or manager
join-token Manage join tokens
leave Leave the swarm
unlock Unlock swarm
unlock-key Manage the unlock key
update Update the swarm
Run 'docker swarm COMMAND --help' for more information on a command.
[root@VM-0-14-centos ~]# docker swarm init --help
Usage: docker swarm init [OPTIONS]
Initialize a swarm
Options:
--advertise-addr string # 广播地址 Advertised address (format: <ip|interface>[:port])
--autolock Enable manager autolocking (requiring an unlock key to start a
stopped manager)
--availability string Availability of the node ("active"|"pause"|"drain") (default "active")
--cert-expiry duration Validity period for node certificates (ns|us|ms|s|m|h) (default
2160h0m0s)
--data-path-addr string Address or interface to use for data path traffic (format:
<ip|interface>)
--data-path-port uint32 Port number to use for data path traffic (1024 - 49151). If no
value is set or is set to 0, the default port (4789) is used.
--default-addr-pool ipNetSlice default address pool in CIDR format (default [])
--default-addr-pool-mask-length uint32 default address pool subnet mask length (default 24)
--dispatcher-heartbeat duration Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)
--external-ca external-ca Specifications of one or more certificate signing endpoints
--force-new-cluster Force create a new cluster from current state
--listen-addr node-addr Listen address (format: <ip|interface>[:port]) (default 0.0.0.0:2377)
--max-snapshots uint Number of additional Raft snapshots to retain
--snapshot-interval uint # 快照 Number of log entries between Raft snapshots (default 10000)
--task-history-limit int Task history retention limit (default 5)
# 初始化主节点
docker swarm init
# 加入一个节点(管理者、worker)
docker swarm join
# 获取令牌
docker swarm join-token manager # 生成加入 manager节点 命令
docker swarm join-token worker # 生成加入 worker 节点 命令
将dokcer1设置为主节点
docker swarm init --advertise-addr 172.27.0.6
docker2加入1节点
docker swarm join --token SWMTKN-1-6b1kbshfye331k4d86az2ohqvdwlj1bijsbka6hvb8h5ha4n28-e61bl5kpo7c1jbaj4hj8nizv1 172.27.0.6:2377
主节点查看所有节点
docker node ls
双主双从:假设一个节点挂了!其他节点是否可以用: 不可用
Raft协议:保证大多数接待存货才可以用、只要>1,集群至少大于3台
关闭docker:测试挂机
systemctl stop docker
退出集群
docker swarm leave
故:至少3个主节点 多于1台机器存货
docker-compose up:启动一个项目。单机
集群:swarm docker service
容器 => 服务 => 副本
帮助
[root@VM-0-6-centos ~]# docker service --help
Usage: docker service COMMAND
Manage services
Commands:
create 创建一个 new service
inspect 查看services细节
logs 查看service日志
ls List services
ps List the tasks of one or more services
rm Remove one or more services
rollback Revert changes to a service's configuration
scale 动态扩缩容 Scale one or multiple replicated services
update 更行service
Run 'docker service COMMAND --help' for more information on a command.
启动服务
docker service create -p 8888:80 --name my-nginx nginx
docker run 容器启动!不具有扩缩容
docker service 服务!具有扩缩容,滚动更新
查看服务
# REPLICAS:副本数目
docker service ps ls
docker service ps my-nginx
# 查看服务 元数据
docker service inspect my0nginx
更新副本数量
docker service update --replicas 5 my-nginx
或
docker service scale my-nginx=5
调整service 以什么方式运行
dcoker service create --mode replicated --name mytom tomcat:7
docker service create --mode global --name haha alpine ping baidu.com
# 单机
docker-compose up -d wordpress.yaml
# 集群
docker-stack deploy wordpress.yaml
学习地址:
https://www.bilibili.com/video/BV1kv411q7Qc
当我将新节点加入现有节点时,docker swarm 抛出错误“swarm already part of swarm” 我在我的本地机器上运行 docker swarm 并尝试初始化 swarm 并
我经常遇到问题,因为我在具有多个节点的 docker swarm 上部署的服务无法启动,并且没有生成可以使用 docker service logs {serviceName} 查看的日志。 服务无法
我在同一个子网中有 4 个虚拟机,它们是 docker-swarm 的一部分。现在我想连接另一个位于不同国家(不同子网)的节点(虚拟机)。我是一个 IP 菜鸟,我很难在 docker 中设置一个能够处
我想将堆栈部署到 Docker 群,我希望每个节点都运行给定的服务。 我查看了 deploy.placement 配置,我发现的最接近的选项是放置首选项 spread=node.label.abc ,
初始化集群模式: root@ip-172-31-44-207:/home/ubuntu# docker swarm init --advertise-addr 172.31.44.207 Swarm
这个命令的初始化群有什么区别: docker swarm init --advertise-addr docker -H swarm join --token 和这个: docker run s
我正在考虑构建一个 Docker Swarm 集群。为了让事情既简单又相对容错,我想简单地运行 3 个节点作为管理器。 不使用任何专用工作节点时有什么权衡?有什么我应该注意的可能不明显的吗? 我找到了
我最感兴趣的是我从docker node ls得到的信息. Docker 将加入的节点的信息存储在哪里? 最佳答案 docker 把加入的节点的信息存储在哪里? 资料来自docker node ls可
我想知道是否有人可以区分这两者。它们都有相似的命名。 最佳答案 Docker Swarm是一个单独的产品,您可以使用它来集群多个 Docker 主机。在 Docker 版本 1.12 之前,它是集群主
我有一个带有两个节点的 Swarm,我正在运行 cadvisor 作为全局服务。我得到指标,grafana/Promethues 可以抓取它们。但是我的数字是错误的。当我使用 docker 命令行工具
我正在尝试连接到 docker 事件总线以监听 swarm 上发生的各种事件,例如节点离开和加入集群、创建的服务等。 问题。 是否有可能在群体级别获得此类信息? 如果是这样,是否dockerpy库可用
我正在使用最新的 mac 版 docker (17.09.0-ce),当我运行 docker-machine create --help 时它说... --swarm-master Configur
我创建了一个 docker swarm 集群,其中包含 4 个节点 2 是 swarm manager(swarm 支持多个管理器)我知道如果当前管理器节点关闭,然后第二个管理器扮演成为集群管理器的角
为了测试我们的托管构建,我正在尝试建立一个与主机和外部世界隔离的 docker 网络。 我有以下 docker-compose.yml (灵感来自 this forum post ): version
在创建 docker swarm 集群时,我遇到了以下两个命令: docker run swarm create docker 群初始化 两者都用于初始化 Docker swarm 集群。任何人都可以
问题陈述:我需要通过 JMX 连接到 docker swarm 服务中的特定容器。服务未在任何端口上公开,因此我无法通过直接点击公开端口上的 docker 基板来访问 JMX。 另外,如果服务被暴露,
目前我可以看到Spring Cloud Data Flow有这些服务器:Local、YARN、Cloud Foundry、Mesos和Kubernetes;是否有支持 Swarm 的计划? 最佳答案
我看到与 described here 相同的问题和 here .我已经尝试了在这两种情况下有效的所有方法,但都无济于事——我仍然看到相同的行为。有人可以提供我可以尝试的替代方案吗? 我的设置: 我正
在一个 swarm 中拥有多个 docker 机器(一个管理器和许多节点)与在一个 swarm 中拥有多个 docker 服务副本之间到底有什么区别? 最佳答案 好吧,由于没有人回答这个问题,我继续在
当在多台机器的 Docker Swarm 集群中运行时,Traefik 不会创建前端或后端。 我按照以下教程在我的 MacBook(操作系统版本:10.14.2 (18C54))上创建了一个 Dock
我是一名优秀的程序员,十分优秀!