【问题标题】:Cannot Delete Default User, Password, and Vhost - RabbitMQ Dockerfile无法删除默认用户、密码和 Vhost - RabbitMQ Dockerfile
【发布时间】:2020-03-17 12:15:47
【问题描述】:

我正在尝试编写一个 Dockerfile 来复制自定义 conf 并将默认用户、密码和虚拟主机设置为 / guest guest 以外的其他内容。我先尝试了环境变量,但是当我登录管理 UI 时,所有默认的东西都还在!

然后我尝试发出CMD,但它仍然不起作用:

FROM rabbitmq:3.8.2-management

#ENV RABBITMQ_DEFAULT_USER=test
#ENV RABBITMQ_DEFAULT_PASS=test
#ENV RABBITMQ_DEFAULT_VHOST=test

COPY rabbitmq.conf /etc/rabbitmq/rabbitmq.conf

CMD ["sh", "-c", "rabbitmq-plugins enable rabbitmq_auth_backend_http; rabbitmq-server", "rabbitmqctl add_user test test", "rabbitmqctl set_user_tags test administrator", "rabbitmqctl delete_user guest", "rabbitmqctl delete_vhost /", "rabbitmqctl add_vhost testvhost", "rabbitmqctl set_permissions -p test testvhost \".*\" \".*\" \".*\""]

我发现如果我在容器启动并运行 rabbitmqctl add_user test test 后 bash 进入容器,它确实会添加新用户。

我做错了什么?

【问题讨论】:

    标签: docker rabbitmq dockerfile


    【解决方案1】:

    看起来好像是因为我在/etc/rabbitmq/rabbitmq.conf 中使用我自己的配置覆盖了conf,所以ENV 变量似乎对默认的userpassword 和@ 没有影响987654326@.

    我的解决方案是将它们放入我的配置中:

    loopback_users.guest = false
    listeners.tcp.default = 5672
    management.listener.port = 15672
    default_user = test
    default_pass = test
    default_vhost = test
    

    我希望这可以帮助遇到这种情况的其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多