RabbitMQ和Docker:创建线程失败:不允许操作(1)

sczxawaw  于 2023-08-05  发布在  RabbitMQ
关注(0)|答案(2)|浏览(480)

我在一个有多个服务的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


这是为了减少线程的数量,以防出现问题,但没有区别。
是什么原因导致了这个错误,我该如何修复它?
先谢了

7qhs6swi

7qhs6swi1#

向容器添加root权限可以解决此问题

privileged: true

字符串

5vf7fwbs

5vf7fwbs2#

我在Azure Pipelines上运行的官方RabbitMQ docker镜像也遇到了同样的问题:

Failed to create thread: Operation not permitted (1)
Aborted (core dumped)

字符串
使用以下docker-compose文件:

rabbit:
    image: rabbitmq:3.10
    container_name: "rabbit_run_${IMAGE_TAG}"

    volumes:
      - ./config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf


我试着在相同的环境中切换到bitnami/rabbitmq:3.11,这对我很有效。然而,这是一种变通方法,而不是解决官方图像问题的解决方案:

rabbit:
    image: bitnami/rabbitmq:3.11
    container_name: "rabbit_run_${IMAGE_TAG}"
    volumes:
      - ./config/rabbitmq.conf:/bitnami/rabbitmq/conf/custom.conf:ro

相关问题