1. 程式人生 > WINDOWS開發 >如何將dotnet core webapi釋出到docker中…

如何將dotnet core webapi釋出到docker中…

如何將dotnet core webapi釋出到docker中

今天想起來擼一下docker,中途還是遇到些問題,但是這些問題都是由於路徑什麼的導致不正確,在這兒還是記錄下操作過程,今天是基於windows來操作docker,先把windows搞定,後面再去Linux上搞docker。

1、前提條件

  • Win10系統,不能是家庭版,並且需要開啟Hyper-V
  • 官網下載並安裝:docker desktop for window
  • 註冊一個docker hub的賬號,用於後面可以把映象推送到線上倉庫中
  • 本地dotnet core開發環境

2、安裝docker

  • 下載docker desktop後直接根據提示進行安裝
  • 安裝完成之後,開啟CMD命令框,輸入docker --version能看到版本號就說明安裝成功了
  • 技術分享圖片
  • 登入dockerhub賬號:docker login回車根據提示輸入你的賬號密碼即可
  • cmd輸入:docker run hello-world拉取映象並且執行一個容器
  • 技術分享圖片
  • cmd輸入:docker image ls檢視映象列表
  • 技術分享圖片
  • cmd輸入:docker container ls檢視執行的容器列表
  • CMD輸入:**docker --help** 可以檢視docker命令的幫助資訊

3、建立WebApi,編譯釋出到指定目錄

技術分享圖片

4、在WebApi釋出目錄中建立DockerFile檔案,新增如下內容

# 基於microsoft/dotnet:latest構建Docker Image
# FROM microsoft/dotnet:latest
# FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903

# 將publish下的所有檔案拷貝到工作目錄
COPY *.* ./

# EXPOSE 5000

# 啟動webapi
CMD ["dotnet","WebApi.dll"]

5、CMD進入WebApi釋出目錄,構建WebApi映象,並啟動容器

  • CMD輸入命令:docker image build -t yazid2020/test_webapi:1.0.1 .
  • 技術分享圖片
  • 技術分享圖片
  • 啟動容器:docker run -it -p 8089:5000 yazid2020/test_webapi:1.0.1
  • 技術分享圖片
  • 然後去訪問介面,能看到已經能得到響應了

  • 技術分享圖片

6、將映象推送到docker hub中

  • 在docker hub中先建立一個Repository映象倉儲【yazid2020/test_webapi】
  • 技術分享圖片
  • 將映象推送到倉儲:docker push yazid2020/test_webapi:1.0.1,這裡可能會提示未登入,使用docker login登入即可
  • 技術分享圖片
  • 到這裡就完成了將core webapi釋出到docker中,並且將映象推送到線上倉儲,以後再次使用這個映象時,直接拉取執行即可
  • 技術分享圖片
    docker pull yazid2020/test_webapi:1.0.1
    docker run -it -p 8089:5000 yazid2020/test_webapi:1.0.1
    # -it:表示需要提供一個模擬的shell環境
    # -p 8089:5000:表示將DockerContainer5000埠對映到主機環境的8089


不完善,或者還可以改進的地方可以給我留言,感謝!