我在一个有多个服务的docker swarm中使用RabbitMQ,所有其他服务都能正常启动,但RabbitMQ容器不能,日志显示以下错误:
Failed to create thread: Operation not permitted (1)
Aborted (core dumped)
字符串
我的docker-compose.yml文件看起来像这样:
version: "3.6"
networks:
rabbitmq:
driver: overlay
attachable: true
x-logging: &default-logging
driver: json-file
options:
max-size: "10m"
max-file: "5"
services:
rabbitmq:
image: rabbitmq:3
hostname: rabbitmq
logging: *default-logging
deploy:
mode: replicated
replicas: 1
labels:
- "traefik.enable=false"
networks:
- rabbitmq
型
我尝试传递这个环境变量:
enviroment:
- RABBITMQ_IO_THREAD_POOL_SIZE=10 # Decreasing the number of threads
型
这是为了减少线程的数量,以防出现问题,但没有区别。
是什么原因导致了这个错误,我该如何修复它?
先谢了
2条答案
按热度按时间7qhs6swi1#
向容器添加root权限可以解决此问题
字符串
5vf7fwbs2#
我在Azure Pipelines上运行的官方RabbitMQ docker镜像也遇到了同样的问题:
字符串
使用以下docker-compose文件:
型
我试着在相同的环境中切换到bitnami/rabbitmq:3.11,这对我很有效。然而,这是一种变通方法,而不是解决官方图像问题的解决方案:
型