当前位置: 首页 > 知识库问答 >
问题:

C#-没有调试模式,默认工作进程不会在docker中启动

越涛
2023-03-14

也许这是显而易见的事情,但无法弄清楚。

我刚刚在Visual Studio(2022,.NET 6).Docker支持开启。当我按调试-它启动docker容器和运行应用程序。控制台上的一切看起来都很好(默认情况下,它只是每1秒写一条消息。)

现在如果我离开VS,打开CMD并键入:

docker ps

我将看到在VisualStudio运行时创建的图像。如果我尝试通过以下方式开始:

docker run workerservicedocker:dev

我得到快速输出像:

所以实际上没有代码执行。看起来像应用程序正在立即打开/关闭。我只是在尝试码头工人的方法,所以也许我错过了一些明显的东西。正如我提到的,这只是默认的模板解决方案,没有从我这边修改。提前感谢您的关注。

Dockerfile是:

FROM mcr.microsoft.com/dotnet/runtime:6.0 AS base

WORKDIR/app

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["WorkerServiceDocker/WorkerServiceDocker.csproj", "WorkerServiceDocker/"]
RUN dotnet restore "WorkerServiceDocker/WorkerServiceDocker.csproj"
COPY . .
WORKDIR "/src/WorkerServiceDocker"
RUN dotnet build "WorkerServiceDocker.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WorkerServiceDocker.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WorkerServiceDocker.dll"]

这是VS创建的默认Dockerfile。

更新:

如果我这样做

docker run -it  workerservicedocker:dev

正如下面的回复中所建议的,它只是显示了应用程序

共有1个答案

赵珂
2023-03-14

docker-run-it-workerservicedocker:dev连接标准数据和一个psuedo-tty

基本上,你运行它的方式是在“后台”。如果您docker ps,您将看到您的容器正在运行。抓取容器id,docker日志

通过-它可以有效地将容器连接到控制台。当你从VS跑步时,它会帮你做到这一点。

 类似资料:
  • 我有一个应用程序,现在我要发布它。我已经创建了一个apk文件,并且安装了它,但是当我向服务器发送登录请求时,它返回NULL。 奇怪的是,当我用调试构建启动应用程序时,它工作得很好。该问题仅发生在释放模式。所以看了这篇文章后我认为问题出在proguard 这是我目前所做的。 null 这是我的proguard-rules.pro文件。

  • 我有一个maven项目,我在其中使用了spring数据和JPA(hibernate)。并通过XML进行配置。envers的默认架构已更改。但它不起作用。当我看到DDL输出时,它说: 错误组织。冬眠工具hbm2ddl。方案更新-HH000388:不成功:更改表格退伍军人。USERPROFILE_ROLE_AUD add constraint FK_nbpfx0RJC9HQIIV4VOFP82KC外键

  • 我遵循默认的Mod Base教程,偶然发现了一个问题。当我尝试以默认方式开始新的跑步时,游戏崩溃: 正因为如此,我使用了BaseMod的调试控制台,看看我是否可以手动添加卡片、遗物、药水等。 DefaultMod中起作用的东西: 所有4件文物 此外,这些消息在通过IntelliJ调试ModTheSpire时出现。 此选项在ModSpire mod选择窗口中: 这一次是在修补过程中(我想是吧?),这

  • 本文向大家介绍如何开启调试模式?调试模式有什么好处?相关面试题,主要包含被问及如何开启调试模式?调试模式有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 开启调试模式很简单,只需要在入口文件中增加一行常量定义代码: // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define(‘APP_DEBUG’, true); 调试模式的优势在于: 开启日志记录,任何错误信息和调试