在Docker容器中運行.Net Framework控制臺應(yīng)用程序

本篇主要講解在Docker容器中運行.Net Framework控制臺應(yīng)用程序的詳細(xì)步驟。算是Docker容器的入門示例。

生成.net Framework控制臺應(yīng)用程序

打開VS創(chuàng)建一個Console Application,如下圖Image-1所示:

Image-1

打開Program.cs,在main函數(shù)中寫入一行代碼,在控制臺輸出一條消息,如下圖Image-2所示:

Image-2

運行控制臺程序得到如下輸出結(jié)果,會輸出一條信息,和當(dāng)前機器的computer name,如下圖Image-3所示:

Image-3

添加Dockerfile文件

在添加Dockerfile文件之前讓我們簡單了解一下Dockerfile文件的作用。Dockerfile是一個文本文件,包含用戶可以在命令行上調(diào)用的所有命令來創(chuàng)建一個Image,他是Docker daemon在創(chuàng)建image時調(diào)用的命令列表。Dockerfile包含了Docker運行應(yīng)用程序所需的所有信息,要運行的基本Docker Image,項目代碼的位置,它所具有的任何依賴關(guān)系以及在啟動時要運行的命令。用一句話來總結(jié)就是:Docker daemon通過讀取dockerfile中的內(nèi)容來創(chuàng)建鏡像(Image)。

右鍵工程添加Dockerfile文件(這塊大家一定要注意,添加的Dockerfile文件一定不要有任何后綴名?。?!)

在Dockerfile文件中我們添加如下三行命令

(1). FROM microsoft/windowsservercore?

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

(2). ADD bin/Release/ /

通過ADD指令我們將build的應(yīng)用程序添加到容器的跟文件夾中

(3). ENTRYPOINT HelloDocker.exe

通過ENTRYPOINT指令我們指定在容器啟動時要運行的應(yīng)用程序。

創(chuàng)建鏡像(Image)

打開cmd命令行工具,進(jìn)入到Dockerfile所在的文件夾,鍵入如下命令:

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

Image-4

docker通過build指令來創(chuàng)建鏡像(Image), build 指令后的-t 表示的是指定當(dāng)前Image的Tag,大家可以理解成Image的Name,鏡像名稱冒號后面的v1大家可以理解成當(dāng)前Image的版本號,如果不指定的話默認(rèn)會為latest,最后的. 表示的是Dockfile所在的當(dāng)前目錄。上面的指令可以理解成基于Dockerfile創(chuàng)建一個v1版本的名為hellodocker的鏡像。執(zhí)行該命令會得到如下圖Image-5所示的結(jié)果:

Image-5

截圖中顯示了Dockerfile中我們所寫的三個指令的執(zhí)行情況,最后會提示你Image創(chuàng)建成功。如果大家是第一次執(zhí)行FROM microsoft/windowsservercore指令,docker daemon會去docker registry中拉取該基鏡像,這個過程相當(dāng)于下載該鏡像到本地,執(zhí)行起來會慢一些,大家不要著急。

我們通過docker images指令來查看創(chuàng)建的鏡像,如下圖Image-6所示:

Image-6

運行容器

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

Image-7

該指令的意思是基于hellodocker:v1鏡像來運行一個名為hellodockercontainer的容器。有一個細(xì)節(jié)大家需要注意一下就是在本機運行時輸出的Machine Name是機器的computer name,而在容器中運行時輸出的Machine name為容器的ID。我們可以通過指令docker ps -a來查看已經(jīng)創(chuàng)建的容器,如圖Image-8所示:

Image-8

以上便完成了容器化.NET Framework控制臺應(yīng)用程序,希望這個簡單的例子能幫助大家了解docker常用的一些指令,docker中提供了很多指令,大家可以通過docker --help來進(jìn)行查看,同時也可以訪問docker的官方網(wǎng)站進(jìn)行進(jìn)一步的指令學(xué)習(xí),官方網(wǎng)站地址:https://docs.docker.com/engine/reference/commandline/port/

上一篇(在Windows系統(tǒng)中安裝Docker CE)

下一篇(Docker容器中運行Asp.Net MVC應(yīng)用程序)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容