.NetCore打包docker鏡像


1..NetCore 項目打包成Docker 鏡像

1.1創建一個.NetCore web項目 項目名為   testmvc  此處用的是.NetCore2.1版本

1.2並且在program里面設置啟動端口,默認5000

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
            .UseUrls("http://*:8003");

  這里設置為8003端口

1.3 發布項目,並且在發布的文件里面創建一個 Dockerfile 文件

1.4 編寫 Dockerfile 文件內容

#基於 `microsoft/dotnet:1.0.0-core` 來構建我們的鏡像
FROM microsoft/dotnet:2.1-aspnetcore-runtime

#拷貝項目publish文件夾中的所有文件到 docker容器中的publish文件夾中  
COPY . /publish

#設置工作目錄為 `/publish` 文件夾,即容器啟動默認的文件夾
WORKDIR /publish

#設置Docker容器對外暴露8003端口
EXPOSE 8003

#使用`dotnet testmvc.dll`來運行應用程序

CMD ["dotnet", "testmvc.dll", "--server.urls", "http://*:8003"]

 

1.5 生成docker鏡像,此處是在linux centos環境下生成的

此時通過 docker images 可以看到

2..NetCore 項目的Docker 鏡像推送到阿里雲鏡像倉儲

2.1 在阿里雲創建自己的容器倉庫 https://cr.console.aliyun.com/cn-hangzhou/instances/repositories

2.2 

按照阿里雲的提示進行鏡像推送。

先登錄,密碼為阿里雲的賬號密碼

推送鏡像,注意鏡像ID 和版本

這時候可以在阿里雲的鏡像版本看到自己的版本信息

這里推送到阿里雲的鏡像完成

3.在linux上獲取阿里雲自己的Docker鏡像

3.1

這時候的本地鏡像倉庫就存在阿里雲的版本的鏡像

4.在linux運行項目,多版本回滾

執行 命令

docker run --name test -d -p 8003:8003 registry.cn-hangzhou.aliyuncs.com/lijiqing/test:1.0.2

 

 

 

版本的回滾指的是,當發布新的鏡像之后 如果出現bug或者其他問題,可以將當前容器關閉,運行之前舊的鏡像

當然可以用 k8s用來編排管理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM