c# - Cloud Run 错误:容器无法启动。启动失败,然后监听端口
问题描述
我已经完全按照我认为应该做的那样做。如果我在云上运行它,我的应用程序就可以工作。我运行的命令: gcloud builds submit --tag gcr.io/****
gcloud run deploy *** --region us-central1 --platform managed --image gcr.io/t*** --allow-未经身份验证--port=26951
Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk
COPY . /app
WORKDIR /app
RUN dotnet publish -c Release -o out
ENTRYPOINT ["dotnet", "Test.dll"]
程序:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace Server
{
class Program
{
private static TcpListener tcpListener;
public static void Main(string[] args)
{
tcpListener = new TcpListener(IPAddress.Any, 26951);
tcpListener.Start();
tcpListener.BeginAcceptTcpClient(TCPConnectCallback, null);
}
private static void TCPConnectCallback(IAsyncResult _result)
{
TcpClient _client = tcpListener.EndAcceptTcpClient(_result);
}
}
}
CSProj:
<Project Sdk="***">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
所有这些都在同一个位置
解决方案
解决方案是像这样更改 dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:3.1 WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "run"]
推荐阅读
- c - 分段错误使用信号量来同步 C 中的 3 个线程
- javascript - 切换到客户端渲染时库中断
- asp.net - 如何在 f# mvc 应用程序中为 homecontroller 添加操作
- python - 如何将(sklearn)数据集的数据导入 plotly?
- groovy - 在 Jmeter Groovy 中解码 URI
- java - 整数和字符串比较之间的优化有什么区别吗?
- npm - 如何覆盖私有 gitlab NPM 注册表中的 beta 版本
- javascript - 当我使用 runOutsideAngular fromEvent 时如何处理更改检测?
- google-maps - 如何设置 Blazor 服务器 google place 自动完成地址表单
- python - + 不支持的操作数类型:“pygame.math.Vector2”和“int”