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

2.配置新項(xiàng)目,項(xiàng)目名稱為DockerDemo

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

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

5.添加測(cè)試代碼
首先我們添加一個(gè) DemoController 類并添加測(cè)試代碼
[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 文件 加入測(cè)試變量
"Demo": {
"Response": "DockerDemo"
}最后我們?cè)?Program.cs 代碼內(nèi)加入
DemoController.ResKey( builder.Configuration.GetValue<string>("Demo:Response"));
至此測(cè)試需要的代碼基本完成。

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

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

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

使用VSCode 進(jìn)行鏡像文件的配置以及發(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 中看到多出一個(gè) dockerdemo:1.0.0 的鏡像。

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

點(diǎn)擊Docker擴(kuò)展圖標(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 正在運(yùn)行。

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

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

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

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

到此這篇關(guān)于Visual Studio發(fā)布 Docker 鏡像的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)VS發(fā)布Docker鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker?發(fā)布自定義鏡像到公共倉(cāng)庫的方法實(shí)現(xiàn)
- Docker本地鏡像發(fā)布到阿里云的實(shí)現(xiàn)
- Docker部署Go項(xiàng)目發(fā)布鏡像到倉(cāng)庫
- Docker發(fā)布鏡像到DockerHub與阿里云容器
- Docker將鏡像文件發(fā)布到阿里云的詳細(xì)過程
- docker將本地鏡像發(fā)布到阿里云的實(shí)現(xiàn)方法
- Docker鏡像發(fā)布到Docker?Hub的實(shí)現(xiàn)方法
- docker-compose鏡像發(fā)布springboot項(xiàng)目的流程分析
- 如何將本地構(gòu)建好的docker鏡像發(fā)布到dockerhub
相關(guān)文章
docker容器映射tcp或udp端口-如何通過docker-compose.yml
這篇文章主要介紹了docker容器映射tcp或udp端口-如何通過docker-compose.yml問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
docker compose管理docker服務(wù)的方法
DockerCompose通過一個(gè)配置文件管理多服務(wù),支持啟動(dòng)、停止、重啟等生命周期管理,依賴管理、資源隔離和自動(dòng)重啟等關(guān)鍵能力,是單機(jī)多容器應(yīng)用的首選管理工具,本文給大家介紹docker compose如何管理docker服務(wù),感興趣的朋友跟隨小編一起看看吧2026-01-01
Docker Volume存儲(chǔ)卷的實(shí)現(xiàn)
Docker的存儲(chǔ)卷是一種將宿主機(jī)的本地文件系統(tǒng)中的某個(gè)目錄與容器內(nèi)部的文件系統(tǒng)中的某個(gè)目錄建立綁定關(guān)系的機(jī)制,下面就來介紹一下,感興趣的可以了解一下2024-12-12
docker安裝sentinel的實(shí)現(xiàn)示例
本文主要介紹了docker安裝sentinel的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12
Docker鏡像發(fā)布到Docker?Hub的實(shí)現(xiàn)方法
本文主要介紹了Docker鏡像發(fā)布到Docker?Hub的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

