gpt4 book ai didi

docker堆栈: Redis not working on worker node

转载 作者:行者123 更新时间:2023-12-02 01:39:33 24 4
gpt4 key购买 nike

我刚刚完成了 docker 文档并在 aws 上创建了两个实例( http://13.127.150.218http://13.235.134.73 )。第一个是经理,第二个是 worker 。以下是我用来部署的组合文件

version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: username/repo:tag
deploy:
replicas: 5
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 50M
ports:
- "80:80"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
redis:
image: redis
ports:
- "6379:6379"
volumes:
- "/home/docker/data:/data"
deploy:
placement:
constraints: [node.role == manager]
command: redis-server --appendonly yes
networks:
- webnet
networks:
webnet:

这里redis服务有一个限制,限制它只能在管理节点上运行。现在我的问题是工作实例上的Web服务应该如何使用redis服务。

最佳答案

您需要在所有容器中使用hostname参数,以便您可以使用该值来访问worker上的服务或从worker上访问manager上的服务。

version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: username/repo:tag
hostname: "web"
deploy:
replicas: 5
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 50M
ports:
- "80:80"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
hostname: "visualizer"
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
redis:
image: redis
hostname: "redis"
ports:
- "6379:6379"
volumes:
- "/home/docker/data:/data"
deploy:
placement:
constraints: [node.role == manager]
command: redis-server --appendonly yes
networks:
- webnet
networks:
webnet:

令人上瘾的是,如果您使用 portainer 而不是可视化工具,您可以使用更多选项来控制您的 SWARM 堆栈:

https://hub.docker.com/r/portainer/portainer

BR,

卡洛斯

关于docker堆栈: Redis not working on worker node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58293440/

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