ubuntu - 在 Ubuntu Xenial (Ubuntu 16.04) 上安装 RabbitMQ 的简单方法

标签 ubuntu docker rabbitmq erlang

是否有任何清晰、简洁的说明可以在 Xenial 上使用 rabbitmq 创建一个实际有效的 Docker 容器?

我在 Docker 容器中运行 rabbitmq,出于某种原因,安装它是一场噩梦。每次 Erlang 或 rabbitmq 有一些更新,一个变得与另一个不兼容,我得到神秘的依赖问题。 rabbitmq installation page不提供分步说明,并且我尝试过的每个排列都有某种错误(最新信息见下文)。

Dockerfile:

RUN  wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
RUN dpkg -i erlang-solutions_1.0_all.deb
RUN apt-get update
# Then install rabbitmq.
RUN echo "deb https://dl.bintray.com/rabbitmq/debian xenial main" | \
    tee /etc/apt/sources.list.d/bintray.rabbitmq.list && \
    wget -O- https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc | \
    apt-key add -

神秘的rabbitmq错误:
=SUPERVISOR REPORT==== 26-Jun-2018::03:04:55.163161 ===
    supervisor: {local,'Elixir.Logger.Supervisor'}
    errorContext: start_error
    reason: noproc

最佳答案

这里贴出的两个答案令人钦佩,但它们并没有回答最初的问题:提供一个安装兼容版本的 Erlang 和 rabbitmq 的 Dockerfile。

下面是这样一个解决方案(经过多次试验和错误)。它安装了 erlang 1:20.3.6 和 rabbitmq 3.7.6。更改版本只需要更改此 Dockerfile 的最后一行。

# Install Erlang + Rabbitmq
# Install the erlang downloader
RUN wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && \
    dpkg -i erlang-solutions_1.0_all.deb
# Add the rabbitmq source list
RUN echo "deb https://dl.bintray.com/rabbitmq/debian xenial main" | \
    tee /etc/apt/sources.list.d/bintray.rabbitmq.list && \
    wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | apt-key add -
# Check which rabbitmq/erlang versions are compatible and isntall:
#       https://www.rabbitmq.com/which-erlang.html
RUN apt-get update && \
    apt-get install -y esl-erlang=1:20.3.6 rabbitmq-server=3.7.6-1

关于ubuntu - 在 Ubuntu Xenial (Ubuntu 16.04) 上安装 RabbitMQ 的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51034319/

相关文章:

python - 如何在rabbitmq、pika python中优雅地暂停和恢复消费

service - 无法启动Docker守护程序

docker - 主管未启动

c++ - CGAL 的生成文件 (libcgal8)

linux - 如何过滤掉长度为 8 且以 .com 结尾的文本文件行?

docker - 理解 `` 标准输入 : true tty: true`` on a kubernetes container?

javascript - RabbitMQ 在网站上向用户发送消息

java - RabbitMQ 消费者是否可以配置为仅使用同一消息的定义次数的尝试

python - 压缩到python中的特定目录

mysql - 服务器配置问题 : Wordpress won't display posts after migration