我是Docker的新手。当我创建一个具有Linux docker支持的空ASP.NET Core MVC项目时,Visual Studio会生成以下Dockerfile:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY DockerTest/DockerTest.csproj DockerTest/
RUN dotnet restore DockerTest/DockerTest.csproj
COPY . .
WORKDIR /src/DockerTest
RUN dotnet build DockerTest.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish DockerTest.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "DockerTest.dll"]
Run Code Online (Sandbox Code Playgroud)
启动PowerShell时,更改目录并运行命令
docker build .
Run Code Online (Sandbox Code Playgroud)
我收到错误-没有这样的文件或目录。
Sending build context to Docker daemon 910.8kB
Step 1/16 : FROM …Run Code Online (Sandbox Code Playgroud) 我的团队想转向微服务架构。当前,我们将Redis Pub / Sub用作系统中某些旧部分的消息代理。我的同事们认为,继续使用redis作为服务总线是很自然的,因为他们不想花时间研究新产品。但是在我看来,RabbitMQ(特别是与MassTransit结合使用)是微服务的更好方法。您能否将Redis Pub / Sub与Rabbit MQ进行比较,并给我一些Rabbit的参数?
如何operationId在Asp.Net Core 2.1项目中设置swagger 属性?根据这篇文章,我应该使用,SwaggerOperationAttribute但在Swashbuckle.AspNetCore库中找不到它。也有一个IOperationFilter
public interface IOperationFilter
{
void Apply(Operation operation, OperationFilterContext context);
}
Run Code Online (Sandbox Code Playgroud)
而且我找不到为实现摇摇欲坠目的的任何实现。
asp.net-core ×1
docker ×1
dockerfile ×1
masstransit ×1
rabbitmq ×1
redis ×1
swagger ×1
swashbuckle ×1