Windows上的RabbitMQ docker容器持久性

时间:2018-05-21 23:17:04

标签: docker rabbitmq erlang docker-compose

我创建了一个docker-compose.yml文件,在尝试“up”时,我无法将RabbitMQ docker容器保留到我的主机卷。它抱怨erlang Cookie文件无法仅由所有者访问。

对此的任何帮助将不胜感激。

修改

enter image description here

所以我添加了上面的卷绑定,当我执行docker-compose up时,rabbitmq似乎将文件放入该目录。然后我添加了2条消息,我可以通过rabbitmq控制台看到2条消息正在队列中...但是当我执行docker-compose down后跟docker-compose up时,期望2条消息到仍然存在,因为目录和文件已创建,但它们不是,消息计数= 0 :(。

1 个答案:

答案 0 :(得分:1)

也许它试图访问某些特权用户功能。

尝试在yml中将privileged: true部分添加到docker-compose服务中,然后再次执行docker-compose up

如果它有效且你更喜欢做一些特权,只有RabbitMQ需要的权限,请在功能部分替换privileged: true以添加或删除权限:

cap_add:
  - ALL
  - <WHAT_YOU_PREFER>

cap_drop:
  - NET_ADMIN
  - SYS_ADMIN
  - <WHAT_YOU_PREFER>

有关详细信息,请查看Compose file documentation

修改

  

为了在容器出现故障时提供数据持久性,请将volume部分添加到docker-compose.yml文件中   volumes: /your_host_dir_with_data:/destination_in_docker