我正在尝试设置一个Docker群,它将我的3台服务器连接在一起。设置swarm并转到URL我得到相同的结果,这是完美的,正是我需要的。
但是,对于我现在正在处理的服务器,我在每台服务器上生成一个全局nginx,以便实现负载平衡。
坐在服务器上将是我需要的多个配置文件,以便将域映射到正确的文件夹,这是我坚持/不为我工作的部分。
我有一个非常简单的docker-compose.yml
,因为我为了调试问题而缩小它,它包含以下内容......
version: '3'
services:
nginx:
image: nginx:latest
volumes:
- /var/www/nginx/config/:/etc/nginx/conf.d/:ro
deploy:
mode: global
音量回来时出现错误"invalid mount config for type "bind": bind source path does not exist"
所以当我删除音量线时它显然完美无缺,但是我100%需要这一行。
我可以,在服务器内完美导航到/var/www/nginx/config/
,我的配置文件存在于其中。与另一个相同,如果我运行docker exec -it <container> /bin/bash
并导航到/etc/nginx/conf.d
我可以很好地到达那里,这就是我在这里发帖的原因。
我查看了其他帖子并完成了其他人已经说过修复过的内容,例如
但似乎没有任何工作
答案 0 :(得分:0)
潜在的问题可能是您的swarm群集中的所有节点都没有创建目录(/var/www/nginx/config/
)。由于在swarm中,服务可以放在任何可用节点中(除非你加入约束),你可能会看到这个错误。
确保在所有3个节点中创建了此目录。
此外,您还可以查看here来定义配置。