簡體   English   中英

.NET 內核 3.1 Web API 與 Docker 桌面。 訪問容器而不在 VS.NET 中運行項目

[英].NET Core 3.1 Web API with Docker Desktop. Access container without running project in VS.NET

I've created a .net core web api project and am successfully running it under Docker Desktop for Window. 只要我在 Visual Studio 中運行項目,它就可以正常工作。 我運行“Docker”配置文件並使用 localhost:8000/ 訪問它。 我已將其配置為使用端口 8000 ...

但是,當我停止 Visual Studio 調試器時,即使它在 Docker 桌面中仍顯示為“正在運行”,我也無法再訪問它。 如何在不運行 Visual Studio 項目的情況下訪問容器中的服務?

我是這個領域的新手,但是如果已經構建了一個圖像並且該圖像在容器中運行,我想我可以在不需要運行 Visual Studio 項目的情況下訪問它。 容器不是“我的圖像的編譯、構建、站立的實例,在 docker 主機中運行”?

謝謝,布倫特

“容器不是“我的圖像的編譯、構建、站立的實例,在 docker 主機中運行”???” 是的,你是 100% 正確的,但是在 Visual Studio 中,他們進行了一些性能調整,所以一切都可以如此順利地運行,而無需停止和刪除容器、更新圖像和運行它等任何開銷。事實上,在后台,您的二進制文件和源代碼是通過卷映射的,因此您無需在每次運行應用程序時都忙於構建新圖像等。 如果您在 Visual Studio 創建的容器上運行 docker 檢查,您將能夠在 JSON Z78E6221F6393D1356681DB398F14CED6 的“安裝”部分中看到該映射

我從模板創建了一個全新的 ASP.NET Core web API 應用程序,並啟用了 ZC5FD214CDD0D2B3B54272E73B02。 我注意到容器生命周期與 Visual Studio 進程相關聯。 如果我關閉 Visual Studio,容器就會停止並被刪除,一旦我在 Visual Studio 中打開前面提到的項目的解決方案,容器就會立即啟動並運行,即使我還沒有開始調試。

如果要在 Visual Studio 之外運行容器,則始終可以從項目中的 Dockerfile 構建映像並運行它。

它可能看起來像這樣:

cd "path/with/your/Dockerfile"
docker build -t "your-image-name" .
docker run -it -p 8000:80 -n "your-container-name" "your-image-name"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM