我在Linux容器中强化了灯塔和akka.net应用程序(batchProcessor)。在其下方显示两个容器都在上。
但是批处理程序无法连接到灯塔(种子节点)。因此,在这些多个群集之间传递的消息不起作用。这是Lighthouse的dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app
ENV ACTORSYSTEM="BatchProcessingSystem"
ENV CLUSTER_SEEDS "[]"
ENV CLUSTER_IP "127.0.0.1"
ENV CLUSTER_PORT "4051"
COPY ./bin/Release/netcoreapp2.2/win10-x64/publish/ /app
EXPOSE 9110 4051
RUN dotnet tool install --global pbm
ENV PATH="${PATH}:/root/.dotnet/tools"
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app .
ENV CPE_ENVIRONMENT "local"
ENV TNS_ADMIN "C:\oracle"
ENTRYPOINT ["dotnet", "Lighthouse.dll"]
这是批处理程序(akka.net应用程序)的dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app
ENV CLUSTER_SEEDS "akka.tcp://[email protected]:4051"
ENV CLUSTER_IP "127.0.0.1"
ENV CLUSTER_PORT "9121"
COPY ./bin/Release/netcoreapp2.2/win10-x64/publish/ /app
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app .
ENV CPE_ENVIRONMENT "local"
ENV TNS_ADMIN "C:\oracle"
EXPOSE 9121
ENTRYPOINT ["dotnet", "BatchProcessor.dll"]
有人可以帮我吗?我在这里想念什么?
此处ENV CLUSTER_SEEDS "akka.tcp://[email protected]:4051"
127.0.0.1
在容器内查找。因此,您的batchprocessor
会将127.0.0.1
视为self,而不是主机。
您应该:
{target container name}:{target container exposed port}
之类的URL中使用容器的名称>