【问题标题】:RabbitMQ is slow to start inside Windows Docker ContainerRabbitMQ 在 Windows Docker 容器中启动缓慢
【发布时间】:2017-12-06 18:13:48
【问题描述】:

这是我的 dockerfile

 FROM microsoft/windowsservercore

 # rabbitmq version used in download url and to rename folder extracted from 
 zip file
ENV rabbitmq_version "3.6.11"

#download erlang and RabbitMQ
ADD "http://erlang.org/download/otp_win64_19.3.exe" "erlang_install.exe"
ADD "https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.11/rabbitmq-
server-windows-3.6.11.zip" "rabbitmq.zip"

# erlang will install to this location and rabbitmq will use this 
environment variable to locate it
ENV ERLANG_HOME c:\\erlang

# setup powershell options for RUN commands
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; 
$ProgressPreference = 'SilentlyContinue';"]

# install erlang using silent install option, and remove installer when done
RUN Start-Process -Wait -FilePath .\erlang_install.exe -ArgumentList /S, 
/D=$env:ERLANG_HOME ; \
Remove-Item -Force erlang_install.exe

# extract rabbitmq, and remove zip file when done
RUN Expand-Archive -Path .\rabbitmq.zip -DestinationPath "c:\\" ; \
Remove-Item -Force rabbitmq.zip

# remove version from rabbitmq folder name
RUN Rename-Item c:\rabbitmq_server-$env:rabbitmq_version c:\rabbitmq

# enable managment plugin
RUN c:\rabbitmq\sbin\rabbitmq-plugins.bat enable rabbitmq_management --
offline


# tell rabbitmq where to find our custom config file
ENV RABBITMQ_CONFIG_FILE "c:\rabbitmq"
RUN ["cmd", "/c", "echo [{rabbit, [{loopback_users, []}]}].> 
c:\\rabbitmq.config"]

EXPOSE 15672
EXPOSE 5672

# run server when container starts - container will shut down when this 
process ends
CMD "c:\rabbitmq\sbin\rabbitmq-server.bat"

当容器在我的 Windows 10 机器上启动时,需要 5 到 10 分钟才能看到日志中的实际代理已启动。我也无法访问管理门户,并且在代理启动之前没有应用程序可以连接。 有什么方法可以让经纪人更快开始?它不会在 linux 容器上执行此操作

【问题讨论】:

    标签: windows docker rabbitmq


    【解决方案1】:

    当容器在我的 Windows 10 机器上启动时,需要 5 到 10 分钟才能看到日志中的实际代理已启动。

    您似乎每次容器启动时都从头开始安装 Erlang (erlang_install.exe)。

    您尝试过的哪个 Linux 容器没有出现此问题?它是否有开箱即用的 RabbitMQ 安装?您可以使用预装了 RabbitMQ 的 Windows 容器,还是自己创建一个容器镜像然后可以重复使用?

    【讨论】:

    • erlang_install.exe 仅在构建映像时执行一次。这也是一个 Windows 容器而不是 linux 容器 :(
    • 您发表了“它不会在 linux 容器上执行此操作”的声明,这就是为什么我问您尝试了哪个 Linux 容器。
    • 哦,是的,对不起。我没有遇到这个问题的是兔子自己制造的Linux。我不知道已经安装了 rabbit 的 Windows 容器,所以我创建了自己的
    猜你喜欢
    • 1970-01-01
    • 2016-05-22
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    相关资源
    最近更新 更多