Docker容器中執行.net framework控制檯程式

拾月_發表於2019-04-22

本篇主要講解在Docker容器中執行.Net Framework控制檯應用程式的詳細步驟。算是Docker容器的入門示例。

生成.net Framework控制檯應用程式

開啟VS建立一個Console Application,如下圖Image-1所示:

Docker容器中執行.net framework控制檯程式
Image-1

開啟Program.cs,在main函式中寫入一行程式碼,在控制檯輸出一條訊息,如下圖Image-2所示:

Docker容器中執行.net framework控制檯程式
Image-2

執行控制檯程式得到如下輸出結果,會輸出一條資訊,和當前機器的computer name,如下圖Image-3所示:

Docker容器中執行.net framework控制檯程式
Image-3

新增Dockerfile檔案

在新增Dockerfile檔案之前讓我們簡單瞭解一下Dockerfile檔案的作用。Dockerfile是一個文字檔案,包含使用者可以在命令列上呼叫的所有命令來建立一個Image,他是Docker daemon在建立image時呼叫的命令列表。Dockerfile包含了Docker執行應用程式所需的所有資訊,要執行的基本Docker Image,專案程式碼的位置,它所具有的任何依賴關係以及在啟動時要執行的命令。用一句話來總結就是:Docker daemon通過讀取dockerfile中的內容來建立映象(Image)。

右鍵工程新增Dockerfile檔案(這塊大家一定要注意,新增的Dockerfile檔案一定不要有任何字尾名!!!)

在Dockerfile檔案中我們新增如下三行命令

(1). FROM microsoft/windowsservercore

通過FROM指令來指定我們所要使用的基本映象

(2). ADD bin/Release/ /

通過ADD指令我們將build的應用程式新增到容器的跟資料夾中

(3). ENTRYPOINT HelloDocker.exe

通過ENTRYPOINT指令我們指定在容器啟動時要執行的應用程式。

建立映象(Image)

開啟cmd命令列工具,進入到Dockerfile所在的資料夾,鍵入如下命令:

docker build -t hellodocker:v1 . 如下圖Image-4所示:

Docker容器中執行.net framework控制檯程式
Image-4

docker通過build指令來建立映象(Image), build 指令後的-t 表示的是指定當前Image的Tag,大家可以理解成Image的Name,映象名稱冒號後面的v1大家可以理解成當前Image的版本號,如果不指定的話預設會為latest,最後的. 表示的是Dockfile所在的當前目錄。上面的指令可以理解成基於Dockerfile建立一個v1版本的名為hellodocker的映象。執行該命令會得到如下圖Image-5所示的結果:

Docker容器中執行.net framework控制檯程式
Image-5

截圖中顯示了Dockerfile中我們所寫的三個指令的執行情況,最後會提示你Image建立成功。如果大家是第一次執行FROM microsoft/windowsservercore指令,docker daemon會去docker registry中拉取該基映象,這個過程相當於下載該映象到本地,執行起來會慢一些,大家不要著急。

我們通過docker images指令來檢視建立的映象,如下圖Image-6所示:

Docker容器中執行.net framework控制檯程式
Image-6

執行容器

通過指令docker run --name hellodockercontainer hellodocker:v1 來執行容器,結果如圖Image-7所示:

Docker容器中執行.net framework控制檯程式
Image-7

該指令的意思是基於hellodocker:v1映象來執行一個名為hellodockercontainer的容器。有一個細節大家需要注意一下就是在本機執行時輸出的Machine Name是機器的computer name,而在容器中執行時輸出的Machine name為容器的ID。我們可以通過指令docker ps -a來檢視已經建立的容器,如圖Image-8所示:

Docker容器中執行.net framework控制檯程式
Image-8

以上便完成了容器化.NET Framework控制檯應用程式,希望這個簡單的例子能幫助大家瞭解docker常用的一些指令,docker中提供了很多指令,大家可以通過docker --help來進行檢視,同時也可以訪問docker的官方網站進行進一步的指令學習,官方網站地址:

docs.docker.com/engine/refe…


上一篇(Docker CE在Windows系統中的安裝)


相關文章