微软的.net开源后可以运行在mac和linux平台,也支持运行在docker容器里。我们今天要尝试的是在mac上开发一个.net应用,并且把它用docker跑起来,然后部署到阿里云容器服务上。
在mac上安装.net core需要先安装openssl。
使用dotnet命令行可以创建.net helloworld程序。<code>dotnet restore</code>是将所有依赖信息恢复出来。
运行新生成的程序
不愿意自己敲字的同学可以从这里复制代码:
<a href="https://code.aliyun.com/libin.libin/dotnet-helloworld">https://code.aliyun.com/libin.libin/dotnet-helloworld</a>
启动浏览器访问<code>http://localhost:5000</code>可以看到输出了:

首先看看例子目录下都有哪些文件:
dockerfile用来生成docker镜像,内容如下:
基础镜像为微软的官方镜像,另外<code>bin/debug/netcoreapp1.0/publish/</code>由<code>dotnet publish</code>命令生成。要生成docker镜像需要执行如下命令:
上传到阿里云容器hub,记得先在其中的<code><name></code>替换成自己的名字。
本地运行docker应用的命令如下:
如果你按照官方文档,会发现应用仅侦听localhost,造成浏览器访问不了。可以在代码中指定应用侦听所有地址。
还记得例子目录下有个<code>docker-compose.yml</code>文件吗?
把上面内容中<code><name></code>替换为自己的名字,在集群里创建应用时,选择<code>使用编排模版创建</code>:
在模版编辑器中粘贴docker-compose.yml文件内容,然后点击<code>创建并部署</code>:
应用创建成功后进入服务页面,发现服务的访问端点已经自动生成了:
点击<code>访问端点</code>,启动浏览器可以看到asp.net的输出了: