gpt4 book ai didi

docker - Heroku 上的 .Net Core 和 Docker

转载 作者:行者123 更新时间:2023-12-02 09:32:56 29 4
gpt4 key购买 nike

上下文

我正在尝试在 Heroku 上部署 aspnet core 示例应用程序与 docker 但不工作。

仓库:https://github.com/mykeels/sample-web-api
指导:https://blog.devcenter.co/deploy-asp-net-core-2-0-apps-on-heroku-eea8efd918b6

环境

框架 .NET Core 2.1.201
SO: W10 内部版本 17134.1
Docker: 适用于 Windows 的 Docker 版本 18.03.1-ce-win65(17513)

我所做的步骤

dotnet 发布 enter image description here

docker 构建 enter image description here

Heroku 登录 enter image description here

标记并推送 enter image description here

Docker 文件 enter image description here

Heroku 上的应用 enter image description here

未运行 enter image description here

我也尝试过这个: enter image description here

问题:出了什么问题?

最佳答案

这是使用 Heroku 实现此功能的另一种方法。

在解决方案的根目录中创建 Dockerfile

#https://github.com/dotnet/dotnet-docker/tree/master/samples/aspnetapp

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /app

COPY . .

CMD ASPNETCORE_URLS=http://*:$PORT dotnet [THE NAME OF YOUR FILE].dll
<小时/>

创建一个名为“publish.bat”的简单批处理文件(假设为 Windows 操作系统)

注意 - 运行 dotnet clean 时,它不会清除发布文件夹。我建议您在发布之前删除该目录的内容。您可以根据需要将其添加到批处理文件中。

REM - This file assumes that you have access to the application and that you have docker installed
REM : Setup your applications name below
SET APP_NAME=""

REM - Delete all files and folders in publish
del /q ".\bin\Release\netcoreapp2.1\publish\*"
FOR /D %%p IN (".\bin\Release\netcoreapp2.1\publish\*.*") DO rmdir "%%p" /s /q

dotnet clean --configuration Release
dotnet publish -c Release
copy Dockerfile .\bin\Release\netcoreapp2.1\publish\
cd .\bin\Release\netcoreapp2.1\publish\
call heroku container:login
call heroku container:push web -a %APP_NAME%
call heroku container:release web -a %APP_NAME%
<小时/>

从解决方案的根目录运行publish.bat

c:\dev\my-amazing-app\publish.bat

信息:

关于docker - Heroku 上的 .Net Core 和 Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51004285/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com