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

问题描述 投票:0回答:3

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

这是为了减少线程数量,以防出现问题,但没有区别。

什么可能导致此错误,我该如何修复它?

提前致谢

docker docker-compose rabbitmq docker-swarm
3个回答
0
投票

给容器添加root权限即可解决

privileged: true

0
投票

我在 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

0
投票

您使用什么版本的

Docker
? 我使用
Docker v19.03
时遇到了同样的问题,但更新到
Docker v24.0.5
解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.