在 Docker 中使用 RabbitMQ 删除容器

2024-03-01

我尝试使用RabbitMQ启动Docker容器,结果下载了镜像,但容器没有启动。我在日志中收到以下消息:

error: RABBITMQ_DEFAULT_PASS is set but deprecated
error: RABBITMQ_DEFAULT_USER is set but deprecated
error: RABBITMQ_DEFAULT_VHOST is set but deprecated
error: RABBITMQ_ERLANG_COOKIE is set but deprecated
error: deprecated environment variables detected

这个问题是最近出现的,之前一切正常并开始。

这是我的 docker-compose 兔子:

rabbit:
    image: "rabbitmq:3-management"
    hostname: "rabbit"
    environment:
        RABBITMQ_ERLANG_COOKIE: 'SWQOKODSQALRPCLNMEQGW'
        RABBITMQ_DEFAULT_USER: 'user'
        RABBITMQ_DEFAULT_PASS: 'bitnami'
        RABBITMQ_DEFAULT_VHOST: '/'
    ports:
        - "15672:15672"
        - "5672:5672"
    labels:
        NAME: "rabbitmq"    
    networks:
        - postgres

RabbitMQ (3.9) 的最新稳定 docker 镜像最近已更新,官方镜像页面显示:

As of RabbitMQ 3.9, all of the docker-specific variables listed below are deprecated and no longer used.

我已通过以下方式解决了该问题:

  1. 在docker compose所在的同一文件夹中创建rabbitmq.conf文件 文件存在

  2. 按照以下指南和命名约定将变量放入其中here https://www.rabbitmq.com/configure.html#config-items。就像是:

    default_vhost = /
    default_user = user
    default_pass = bitnami
    
  3. 在 docker compose 文件中,而不是环境部分放一个volumes部分并将rabbitmq.conf文件安装到正确的路径(取决于操作系统,请遵循here https://www.rabbitmq.com/configure.html#customise-environment)。对于 Linux 容器,它会是这样的:

    rabbit:
        image: "rabbitmq:3-management"
        hostname: "rabbit"
        volumes:
          - "./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf"
        ports:
          - "15672:15672"
          - "5672:5672"
        labels:
          NAME: "rabbitmq"    
        networks:
          - postgres
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Docker 中使用 RabbitMQ 删除容器 的相关文章

随机推荐