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

. net core rest api在docker容器中未运行

丁书
2023-03-14

我对集装箱运输很陌生。我创造了一个新的世界。net core 3.1 rest api在visual studio中使用默认模板。我不会更改默认模板中的任何内容。当我使用F5运行它时,它在带有url的浏览器中运行良好https://localhost:44332/weatherforecast.现在,我正尝试在docker容器中使用下面的Dockerfile配置运行它:

来自mcr。微软com/dotnet/aspnet:3.1

COPY bin/发布/netcoreapp3.1/发布应用程序/

WORKDIR/App

曝光5000

曝光443

入口点["dotnet","CoreRestApi.dll"]

我能够生成docker图像和容器。容器也启动了。但当我尝试浏览url时https://localhost/weatherforecast或http://localhost:5000/weatherforecast要访问api,它不显示任何内容。

应用中的主要方法代码如下:

  public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>(); 
            });

docker桌面显示以下内容:

我是不是漏了一步?

共有1个答案

夹谷奇
2023-03-14

在应用程序的输出中,您可以看到它正在监听端口80(现在监听:超文本传输协议://[::]: 80)。

因此,在运行容器时,应该将端口80映射到主机上的空闲端口。假设我们选择51234端口。那你会的

docker run -d -p 51234:80 <your-image-name>

然后你就可以在http://localhost:51234/weatherforecast

Dockerfile中的EXPOSE语句实际上没有任何作用。您可以将它们视为有关所使用端口的文档。当然,最好是用一条EXPOSE 80语句替换您的两条EXPOSE语句,但这并不会阻止您的容器工作。

 类似资料:
  • Debug.DockerFile 运行命令 正在连接RabbitMQ

  • 问题内容: 我正在尝试在Alpine 3.10 docker容器中专门运行GeckoDriver v0.26.0 。 在弄清楚一些事情之后,我碰壁了: 我想念什么? 我怎么到这里 首先启动docker容器: 然后尝试安装GeckoDriver 真?但我只是提取了它…嗯…好 提取正确吗?是对的吗 是。好吧,让我们用谷歌搜索。好吧,也许我应该检查一下信息。默认情况下,Alpine没有。 对于同一问题的

  • 本文向大家介绍Docker容器中运行nginx,包括了Docker容器中运行nginx的使用技巧和注意事项,需要的朋友参考一下 nginx简介 Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能

  • Kibana 的 Docker 镜像可以从 Elastic 官网上的 Docker 镜像仓库获取。该镜像是随 X-Pack 一起打包的。 注意:X-Pack 在这个 image 中是预装好的。安装了 X-Pack,Kibana 会去连接同样带有 X-Pack 的 Elasticsearch 集群。 获取镜像 向 Elastic Docker 仓库发送一条 docker pull 命令就可以获取 K

  • 只有当docker容器尚未运行时,我才需要运行它。给了这个命令。如果它不存在,我将如何运行它。 我对任何脚本或语言都持开放态度。

  • 问题内容: 我想使用docker-compose在“主机”网络中生成3个服务。这是我的docker-compose.yml文件: 我收到以下错误: 我在Windows上使用boot2docker。 Docker和Docker-compose版本: 如果我通过使用所有内容手动运行所有服务,则一切正常。 在文档中,我读到 docker-compose支持* net 命令: * 净 联网模式。使用与do