Visual Studio發(fā)布 Docker 鏡像的實現(xiàn)步驟
創(chuàng)建項目
1.搭建一個ASP.NET Core Web API 項目,其他類型項目原理類似。

2.配置新項目,項目名稱為DockerDemo

*3. 配置信息勾選啟用Docker,并選擇Docker OS 環(huán)境為 Linux.(根據(jù)實際情況選擇)

4.完成配置后,會發(fā)現(xiàn)生成的項目文件中有一個DockerFile 文件,代表Docker支持已經(jīng)添加

5.添加測試代碼
首先我們添加一個 DemoController 類并添加測試代碼
[ApiController]
[Route("Demo")]
public class DemoController : ControllerBase
{
[HttpGet]
[Route("Get")]
public string Get()
{
string model = "{\"code\":\"0\",\"error\":\"" + "0" + "\",\"data\":\"" + _response + "\"}";
return model;
}
private static string _response;
public static void ResKey(string key)
{
_response = key;
}
}之后我們開始編輯appsettings.json 文件 加入測試變量
"Demo": {
"Response": "DockerDemo"
}最后我們在 Program.cs 代碼內(nèi)加入
DemoController.ResKey( builder.Configuration.GetValue<string>("Demo:Response"));
至此測試需要的代碼基本完成。

6.launchSettings.json 配置參數(shù)解釋
{
"iisSettings": {
"windowsAuthentication": false,//是否啟用Windows身份驗證
"anonymousAuthentication": true,//是否啟用匿名身份驗證
"iisExpress": {
"applicationUrl": "http://localhost:53445",//應(yīng)用啟動的Url路徑。
"sslPort": 0 //啟用SSL的端口
}
},
"profiles": {
"IIS Express": {
"commandName": "Project",
"launchBrowser": true, //是否在瀏覽器中啟動
"environmentVariables": { //將環(huán)境變量設(shè)置為鍵/值對
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}我們發(fā)現(xiàn)在 launchSettings.json 中存在兩個 applicationUrl 。 其中IISExpress 對應(yīng)的啟動方式 為 IIS Express 。 profiles 對應(yīng)的為項目本身。
對應(yīng)關(guān)系如下圖:

7. Docker鏡像生成
右擊項目文件里面的DockerFile文件,選擇生成Docker鏡像。等待命令執(zhí)行結(jié)束。

當(dāng)VS鏡像生成結(jié)束后,可以在Docker -Images 內(nèi) 看到剛剛最新生成的鏡像文件。

使用VSCode 進行鏡像文件的配置以及發(fā)布
1.打標(biāo)簽
docker tag dockerdemo:latest dockerdemo:1.0.0
在CMD 中執(zhí)行 docker tag 命令,上述語句意思為將最新的 dockerdemo 鏡像 標(biāo)記為 dockerdemo:1.0.0,在CMD中執(zhí)行完成后可以在Docker-Images 中看到多出一個 dockerdemo:1.0.0 的鏡像。

2.VsCode 安裝 Docker插件
在VsCode擴展中搜索Docker插件并安裝,安裝完成后,VSCode左側(cè)會顯示一個Docker圖標(biāo)。

點擊Docker擴展圖標(biāo)發(fā)現(xiàn)和Docker本身顯示的內(nèi)容差距不大。

3. docker-compose.yml 編寫
version: '3.4' //compose版本
services:
dockerservices:
image: dockerdemo:1.0.0 //鏡像版本
restart: always //重啟
container_name: dockerdemo
ports:
- 8089:80 //端口映射
volumes:
- ./appsettings.json:/app/appsettings.jsonimage.png //文件映射在VsCode中編寫yml 文件。

復(fù)制appsettings.json文件。

4.發(fā)布鏡像
在 docker-compose.yml 文件內(nèi)右擊,選擇compose up ,等待命令執(zhí)行完成。

命令執(zhí)行完成后在Docker 內(nèi)可以看到 dockerdemo 正在運行。

5.測試發(fā)布的服務(wù)
在 postman內(nèi)訪問我們之前編寫的測試接口,發(fā)現(xiàn)能夠正常返回。測試通過。

修改Vscode內(nèi)的 appsetting.json文件。

在 docker-compose.yml 文件內(nèi)右擊,選擇compose restart ,等待命令執(zhí)行完成,重啟服務(wù)。

再次通過 postman內(nèi)訪問我們之前編寫的測試接口,發(fā)現(xiàn)能夠正常返回,并且參數(shù)已經(jīng)發(fā)生改變。測試通過。

到此這篇關(guān)于Visual Studio發(fā)布 Docker 鏡像的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)VS發(fā)布Docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker容器映射tcp或udp端口-如何通過docker-compose.yml
這篇文章主要介紹了docker容器映射tcp或udp端口-如何通過docker-compose.yml問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
docker compose管理docker服務(wù)的方法
DockerCompose通過一個配置文件管理多服務(wù),支持啟動、停止、重啟等生命周期管理,依賴管理、資源隔離和自動重啟等關(guān)鍵能力,是單機多容器應(yīng)用的首選管理工具,本文給大家介紹docker compose如何管理docker服務(wù),感興趣的朋友跟隨小編一起看看吧2026-01-01
Docker鏡像發(fā)布到Docker?Hub的實現(xiàn)方法
本文主要介紹了Docker鏡像發(fā)布到Docker?Hub的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

