日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

2022 年 9 月 14 日,Microsoft 發布了 .NET 7 Release Candidate 1,這是生產中支持的 .NET 7 的兩個候選版本 (RC) 中的第一個。
.NET 7 的發布計劃于 2022 年 11 月 8 日至 10 日在.NET Conf 2022上發布!在那之前,我們可以嘗試這個新.NET 版本的一些新特性和改進!
在幾個有趣的新功能中,我特別喜歡并想在這里強調的一個就是 Docker 對 .NET 7 的內置容器支持。
這一新的 .NET 7 資源是新云原生功能之一的一部分,可幫助 .NET 進一步鞏固自身作為構建云原生應用程序并在您的 Web 應用程序中實現彈性、可擴展性、效率和速度的絕佳替代方案。
讓我們開始吧
對于此版本,您必須安裝 Docker 和 .NET 7.0.100-rc.1.22431.12 或更高版本。此外,僅支持 linux-x64 容器。
下面我們可以看到從頭開始構建容器化的 ASP.NET 應用程序是多么簡單。
# 1st step - create a new project
dotnet new mvc -n my-containerized-App
# 2nd step - move project to its directory
cd my-containerized-app
# 3rd step - add a reference to a (temporary) package that creates the container
dotnet add package Microsoft.NET.Build.Containers
# 4th step - publish your project for linux-x64
dotnet publish --os linux --arch x64 -p:PublishProfile=DefaultContainer
# 5th step - run your app using the new container
docker run -it --rm -p 5010:80 --name my-cloud-native-app my-containerized-app:1.0.0
如果您熟悉 docker 和 .NET CLI,或者已經掌握了它們,那么您可能會毫不費力地理解上述指令序列。
但是,如果您是初學者,讓我們一步一步地看一下每個語句。
在第一步和第二步中,我們剛剛使用ASP.NET Core Empty模板創建了一個新的 .NET 應用程序,然后移至新的項目目錄。
$ dotnet new mvc -n my-containerized-app
$ cd my-containerized-app
dotnet new: 創建新項目的命令
mvc: 設置 .NET 模板項目的參數
-n: 創建輸出的選項
在第三步中,我們添加Microsoft.NET.Build.Containers了一個用于將 .NET 應用程序本地發布為容器的nuget 包。
$ dotnet add package Microsoft.NET.Build.Containers
在我們的示例中,我們使用的是空的 mvc 模板,但在您自己的項目中,您只需將這個包添加到其中即可。
查看一個my-containerized-app.csproj文件,您可以在那里看到包:
在第四步中,我們編譯了應用程序。
$ dotnet publish --os linux --arch x64 - p:PublishProfile=DefaultContainer
dotnet publish: 編譯應用程序的命令
--os linux和--arch: 用于指定目標操作系統 (OS) 和指定目標體系結構的選項。我們分別指定了 linux 和 x64。重要的是要記住只支持Linux-x64容器
-p: 用于設置屬性
如果您docker images在控制臺中輸入,您會看到圖像已經創建:
REPOSITORY TAG IMAGE ID CREATED SIZE
my-containerized-app 1.0.0 b65f7ee7668a 7 seconds ago 220MB
現在,在第五步也是最后一步,我們終于運行了我們的容器。
$ docker run -it -p 5010:80 --name my-cloud-native-app my-containerized-app:1.0.0
docker run: 運行的容器進程是隔離的,因為它有自己的文件系統,自己的網絡,以及獨立于主機的獨立進程樹
-it:以交互模式而不是分離模式運行容器,允許我們在容器處于運行狀態時執行命令
-p 5010:80: 使用端口的定義。:
--name my-cloud-native-app:為容器設置名稱,防止 docker 為其生成隨機名稱
my-containerized-app:1.0.0:設置我們要使用的圖像,在這個例子中,:
如果一切順利,我們將得到與下面類似的結果。
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {2b3bd45e-0cc8-4cad-a0b9-ce5593370e33} may be persisted to storage in unencrypted form.
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://[::]:80
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: /app
然后,只需在任何瀏覽器中訪問應用程序http://localhost:5010/::

應用程序運行
結論
就是這樣了。我們可以看到這個資源是多么簡單,它對我們的項目有多么有用。與虛擬機不同,容器可以快速擴展和擴展,對于云原生應用程序至關重要,提供精細的可擴展性、可移植性和資源的有效使用。

分享到:
標簽:Docker
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定