Docker |安装卷会导致错误

时间:2018-02-09 20:48:03

标签: docker docker-compose docker-swarm

我正在尝试设置一个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我可以很好地到达那里,这就是我在这里发帖的原因。

我查看了其他帖子并完成了其他人已经说过修复过的内容,例如

  • 在卷中添加引号
  • 删除文件末尾的斜杠
  • 重新启动服务器
  • 重启Docker

但似乎没有任何工作

1 个答案:

答案 0 :(得分:0)

潜在的问题可能是您的swarm群集中的所有节点都没有创建目录(/var/www/nginx/config/)。由于在swarm中,服务可以放在任何可用节点中(除非你加入约束),你可能会看到这个错误。

确保在所有3个节点中创建了此目录。

此外,您还可以查看here来定义配置。