前言首先提一下微软更名后的叫法:ASP.NET 5 更名为 ASP.NET Core 1.0.NET Core 更名为 .NET Core 1.0 Entity Framework 7 更名为 Entity Framework Core 1.0 或者简称 ...
前言 现在伴随着
get='_blank'>ASP
.NET Core 1.0 RC2版的更新速度,许多官方文档都跟不上,还停留在RC1版的使用方式上(RC1版是继Beta版之后第一个发布的稳定版本)。RC1和RC2的区别在于RC1版使用dnvm、dnx来restore packages和run(dnu是包含在dnx中的),而RC2版会基于.NET Core CLI,使用
dotnet命令来进行building,compiling, NuGet package management, running, testing。如果想了解更多ASP.NET Core 1.0 的发布进度和里程碑可以查看:ASP.NET Core 1.0 Schedule and Roadmap。就目前而言,在某些系统中我们已经可以遗弃mono,只使用.NET Core 和.NET Core CLI 就可以提供对.Net程序进行生成编译运行环境(同时包含.NET Core 和.NET Core CLI的.NET Core SDK二进制包,可以在这里下载)。至于mono的未来,微软的SocttHunter和Scott Hasnselman说到:切换到MIT开源许可协议的mono将作为公司未来构建一个统一.NET库的计划中的一部分,了解详情。可见开源的mono会逐步融入.NET Core体系中。
1、环境
这里演示的Docker宿主机环境是CentOS7,下面介绍Docker在CentOS7上的安装。在其他系统中安装Docker,请查看Install Docker Engine
2、安装docker
首先查看CentOS的内核版本(CentOS7系统必须为64位,内核必须3.10及以上)
uname -r3.10.0-229.el7.x86_64
curl -fsSL https://get.docker.com/ | sh
4、 docker相关概念
container:容器,用来加载各种image,可以看成操作系统。加载各种app。允许多个容器同时运行,并且容器一般无法相互访问宿主服务器资源,除非挂载数据卷volume之类的,数据卷的使用可以参照:http://my.oschina.net/guol/blog/271225)。容器中可以运行一些
网络应用,要让外部也可以访问这些应用,可以通过
-P
或
-p
参数来指定端口映射。
docker images //显示所有镜像文件docker ps -q -a //显示所有容器docker run -it --name dn_container -d -p 5000:5000 microsoft/dotnet:latest //新增一个容器用于加载 microsoft/dotnet:latest镜像文件,-p host port:container portdocker run -it --name dn_container -d -p 127.0.0.1:5000:5000 microsoft/dotnet:latestdocker start dn_container //启动容器docker attach dn_container //关联并进入启动容器,需要先启动容器docker stop dn_container //停止容器docker kill $(docker ps -a -q) //强制停止所有容器docker rm $(docker ps -a -q) //删除所有容器doker commit ContainerID NewImageName //将容器里的内容提交为新的镜像文件docker rmi -f 7d9495d03763 //删除所有容器//标记镜像,push到Docker Hubdocker imagesdocker tag a66b7258f574 sobit17/sobit-dotnet:1.0.0-beta-002252docker imagesdocker login --username=test --email=test@qq.comdocker push sobit17/sobit-dotnet
5.1 首先安装git,克隆cli-samples下来可以从上级目录cli-samples中拷贝一个NuGet.config到HelloMvc目录中,如果没有这个NuGet.config 在还原package时会默认到.nuget/NuGet/加载NuGet.config。因为源不对,会导致某些packeage下载不到。5.2.2创建Dockerfile文件
FROM microsoft/dotnet:0.0.1-alpha-onbuild RUN sudo apt-get -y update \ && sudo apt-get install -y dialog make automake libtool curl RUN curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src \ && cd /usr/local/src/libuv-1.8.0 \ && sudo sh autogen.sh \ && sudo ./configure \ && sudo make \ && sudo make install \ && sudo rm -rf /usr/local/src/libuv-1.8.0 \ && cd ~/ \ && sudo ldconfig EXPOSE 5600
执行下面命令加载dotnet image,且一般会自动启动test_container并进入到image内部环境中,如果你服务器上没有dotnet image,下面命令也会自动下载如果test_container未启动,则执行下面命令启动并关联进入
# docker start dotnet_container # dokcer attach dotnet_container
dotnet --version或dotnet --info
- 编译试运行:docker run --rm -w /webapp hellomvc-image
- 运行:docker run -t --name web_container -d -p 5100:5600 hellomvc-image
1、环境
这里演示的环境是CentOS7,64bit
PATH=~/dn_cli:$PATH
3、下载cli-samples的HelloMvc例子
打开浏览器 http://IP:5600(防火墙和查看网络相关命令请查看本篇文章第四点)
三、在Ubuntu 14.04中运行3、编译运行HelloMvcsystemctl status firewalld或firewalld.service ##查看firewalld是否启动。active(running)代表启动systemctl start firewalld ##如果firewalld没启动,可以使用此命令启动systemctl enable firewalld ##设置为随机器启动systemctl stop firewalld ##关闭firewalldsystemctl disable firewalld ##清除随机器启动systemctl restart firewalld ##重启firewalld
firewall-cmd --state ##查看防火墙状态,是否是runningfirewall-cmd --list-all ##查看所有规则firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令firewall-cmd --get-zones ##列出支持的zonefirewall-cmd --get-services##列出支持的服务,在列表中的服务是放行的firewall-cmd --query-service ftp##查看ftp服务是否支持,返回yes或者nofirewall-cmd --add-service=ftp ##临时开放ftp服务firewall-cmd --add-service=ftp --permanent##永久开放ftp服务firewall-cmd --add-service=http --permanent##永久开放http服务firewall-cmd --remove-service=ftp --permanent##永久移除ftp服务firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent ##--zone #作用域
3、防火墙iptables常用命令netstat -tunlp -a # 查看所有网络端口情况netstat -l -n #查看监听(Listen)的端口,-n 代表显示端口数字而不是名称netstat -antp #查看所有建立的TCP连接
相关资料:
- Running ASP.NET 5 applications in Linux Containers with Docker
- Installing ASP.NET 5 On Linux
- Docker Dockerfile详解
- 最新版dotnet-cli下的ASP.NET Core和asp.net mvc【RC2尝鲜】
- ASP.NET Core 1.0 Hello World
作者:B.it
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:跨平台运行ASP.NET Core 1.0
关键词:ASP.NET
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。