【发布时间】:2017-03-08 13:05:14
【问题描述】:
我在 Docker Swarm 的不同节点上运行的 Docker 容器之间共享文件夹时遇到问题。我的群体由一名经理和两名工人组成。
我正在使用这个 compose 文件来部署应用程序:
version: '3'
services:
redis:
image:
redis:latest
networks:
- default
ports:
- 6379:6379
volumes:
- test-volume:/test
deploy:
replicas: 1
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure
placement:
constraints: [node.role == manager]
logstash:
image: docker.elastic.co/logstash/logstash:5.2.2
networks:
- default
volumes:
- test-volume:/test
deploy:
placement:
constraints: [node.role == worker]
networks:
default:
external: false
volumes:
test-volume:
我可以使用docker exec _id_ ls /test 确认文件夹已成功安装在两个容器中。但是当我使用docker exec _id_ touch /test/file 将文件添加到此文件夹时,第二个容器看不到创建的文件。
如何配置 swarm 以使文件在两个容器中都可见?
【问题讨论】:
-
我找到了这篇文章:也许它会有用:ender74.github.io/Sharing-Volumes-With-Docker-Swarm。我不知道它是这样工作的,正如有人回答的那样 - 可能需要插件来实现您的目标。
标签: docker docker-compose docker-swarm