2017-12-06 1 views
0

Hier ist mein dockerfileRabbitMQ langsam in Windows Docker starten Contaier

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" 

Wenn der Behälter auf meinem Windows startet die Maschine 10 es irgendwo zwischen 5-10 Minuten in Anspruch nimmt, um zu sehen, dass der tatsächliche Broker in den Protokollen gestartet . Ich kann auch nicht auf das Management-Portal zugreifen und keine Apps können sich verbinden, bis der Broker startet. Gibt es eine Möglichkeit, den Broker schneller zu starten? Es tut dies nicht auf Linux-Containern

Antwort

0

Wenn der Container auf meinem Windows 10-Rechner startet, dauert es irgendwo zwischen 5-10 Minuten, um zu sehen, dass der eigentliche Broker in den Protokollen gestartet wurde.

Es scheint, dass Sie Erlang bei jedem Start Ihres Containers von Grund auf neu installieren (erlang_install.exe).

Welchen Linux-Container haben Sie versucht, das dieses Problem nicht aufweist? Hat RabbitMQ sofort installiert? Können Sie einen Windows-Container mit RabbitMQ vorinstalliert verwenden oder selbst ein Container-Image erstellen, das Sie dann wiederverwenden können?

+0

erlang_install.exe wird nur einmal ausgeführt, wenn das Image erstellt wird. Auch dies ist ein Windows-Container nicht ein Linux-One :( – Pat

+0

Sie machten die Aussage "Es tut dies nicht auf Linux-Containern", weshalb ich gefragt, welchen Linux-Container Sie versucht haben. –

+0

ooo yea tut mir leid. Die, die ich nicht dieses Problem hatte mit war der linux selbst gemacht von kaninchen selbst. ich weiß nicht von einem windows container mit kaninchen bereits installiert, also habe ich mein eigenes erstellt – Pat

Verwandte Themen