gpt4 book ai didi

Docker Swarm 模式错误 : Joining Two Workers To One Manager

转载 作者:IT老高 更新时间:2023-10-28 12:46:49 24 4
gpt4 key购买 nike

我在设置一个包含两名 worker 和一名经理的 Docker Swarm 时遇到了困难。一切正常,直到我添加第二个 worker 。添加第二个worker后,第一个worker的守护进程进入某种错误状态,一个简单的docker version产生

enter image description here

另外,我正在使用 Stack YAML 来启动三个 Redis 服务。

Stack.yaml

version: '3.4'

services:
redis-master:
image: 'bitnami/redis:5.0.2'
ports:
- '6379:6379'
environment:
- REDIS_REPLICATION_MODE=master
- REDIS_PASSWORD=f7paul12-d571-4701-9c55-64vanacecDyK
deploy:
mode: global
restart_policy:
condition: any
volumes:
- 'redis:/opt/bitnami/redis/etc/'

redis-replica:
image: 'bitnami/redis:5.0.2'
ports:
- '6379'
depends_on:
- redis-master
environment:
- REDIS_REPLICATION_MODE=slave
- REDIS_MASTER_HOST=redis-master
- REDIS_MASTER_PORT_NUMBER=6379
- REDIS_MASTER_PASSWORD=f7paul12-d571-4701-9c55-64vanacecDyK
- REDIS_PASSWORD=f7paul12-d571-4701-9c55-64vanacecDyK
deploy:
mode: replicated
replicas: 6
update_config:
parallelism: 1
delay: 20s
restart_policy:
condition: any

redis-sentinel:
image: 'bitnami/redis:5.0.2'
ports:
- '16379'
depends_on:
- redis-master
- redis-replica
entrypoint: |
bash -c 'bash -s <<EOF
"/bin/bash" -c "cat <<EOF > /opt/bitnami/redis/etc/sentinel.conf
port 16379
dir /tmp
sentinel monitor master-node redis-master 6379 2
sentinel down-after-milliseconds master-node 5000
sentinel parallel-syncs master-node 1
sentinel failover-timeout master-node 5000
sentinel auth-pass master-node f7paul12-d571-4701-9c55-64vanacecDyK
sentinel announce-ip redis-sentinel
sentinel announce-port 16379
EOF"
"/bin/bash" -c "redis-sentinel /opt/bitnami/redis/etc/sentinel.conf"
EOF'
deploy:
mode: global
restart_policy:
condition: any
volumes:
redis:
driver: external
driver_opts:
type: 'none'
o: 'bind'
device: '/c/redis/'

我在 Windows Server 2016 上运行 Docker CE 18.09.0(EE 有同样的问题)此外,我所有的工作节点都在 Windows 平台上,使用 Linux 容器。 (我的管理器节点也是一样,但是因为 issue #3031 使用了 Windows 容器)

在独占 Windows 环境中是否也支持设置多节点群?如何使用上面列出的环境设置此集群?

最佳答案

Windows 支持 Swarm,但您不应在 Windows 服务器上使用 docker ce 和 linux 容器。 Docker ce for windows 使用 hyperv linux 虚拟机,win server 2016 有很多 hyperv 网络问题。

我还尝试在 swarm 中使用 docker ee 来赢得服务器 2016,但由于多重限制,我放弃了这个想法,直到更新版本的 windows 服务器出现。

您应该尝试使用高于 1803 的 Windows 服务器,Microsoft 最终允许将端口暴露给主机。因此,我建议您使用 windows server core 1803 或 1809,或者使用 windows server 2019(即 1809)

并在 windows 上切换到 windows 容器。对于 linux 容器,请使用 linux 主机。将为您省去很多麻烦。

关于Docker Swarm 模式错误 : Joining Two Workers To One Manager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com