我创建了一个docker-compose.yml
文件,在尝试“up”时,我无法将RabbitMQ
docker容器保留到我的主机卷。它抱怨erlang
Cookie文件无法仅由所有者访问。
对此的任何帮助将不胜感激。
修改
所以我添加了上面的卷绑定,当我执行docker-compose up
时,rabbitmq似乎将文件放入该目录。然后我添加了2条消息,我可以通过rabbitmq控制台看到2条消息正在队列中...但是当我执行docker-compose down
后跟docker-compose up
时,期望2条消息到仍然存在,因为目录和文件已创建,但它们不是,消息计数= 0 :(。
答案 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