在Docker容器中运行.Net Framework控制台应用程序

本篇主要讲解在Docker容器中运行.Net Framework控制台应用程序的详细步骤。算是Docker容器的入门示例。

生成.net Framework控制台应用程序

打开VS创建一个Console Application,如下图Image-1所示:

Image-1

打开Program.cs,在main函数中写入一行代码,在控制台输出一条消息,如下图Image-2所示:

Image-2

运行控制台程序得到如下输出结果,会输出一条信息,和当前机器的computer name,如下图Image-3所示:

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所示:

Image-4

docker通过build指令来创建镜像(Image), build 指令后的-t 表示的是指定当前Image的Tag,大家可以理解成Image的Name,镜像名称冒号后面的v1大家可以理解成当前Image的版本号,如果不指定的话默认会为latest,最后的. 表示的是Dockfile所在的当前目录。上面的指令可以理解成基于Dockerfile创建一个v1版本的名为hellodocker的镜像。执行该命令会得到如下图Image-5所示的结果:

Image-5

截图中显示了Dockerfile中我们所写的三个指令的执行情况,最后会提示你Image创建成功。如果大家是第一次执行FROM microsoft/windowsservercore指令,docker daemon会去docker registry中拉取该基镜像,这个过程相当于下载该镜像到本地,执行起来会慢一些,大家不要着急。

我们通过docker images指令来查看创建的镜像,如下图Image-6所示:

Image-6

运行容器

通过指令docker run --name hellodockercontainer hellodocker:v1 来运行容器,结果如图Image-7所示:

Image-7

该指令的意思是基于hellodocker:v1镜像来运行一个名为hellodockercontainer的容器。有一个细节大家需要注意一下就是在本机运行时输出的Machine Name是机器的computer name,而在容器中运行时输出的Machine name为容器的ID。我们可以通过指令docker ps -a来查看已经创建的容器,如图Image-8所示:

Image-8

以上便完成了容器化.NET Framework控制台应用程序,希望这个简单的例子能帮助大家了解docker常用的一些指令,docker中提供了很多指令,大家可以通过docker --help来进行查看,同时也可以访问docker的官方网站进行进一步的指令学习,官方网站地址:https://docs.docker.com/engine/reference/commandline/port/

上一篇(在Windows系统中安装Docker CE)

下一篇(Docker容器中运行Asp.Net MVC应用程序)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容