在发布ASP.NET Core网站之前,先介绍一下DaoCloud 一个免费的docker云容器服务平台。登录官方网站,建立一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合适。这台docker主机通常是ubuntu主机,同时docker里面已经集成了一些镜像例如:mysql 、nginx等。html
docker pull microsoft/dotnet
docker images
docker run microsoft/dotnet-samples
上图是在主机中运行了 asp.net mvc 后的结果,说明建立的项目成功运行了。下面把这个asp.net mvc 制做成镜像发布到docker中。mysql
#镜像来源为 microsoft/dotnet:1.1-runtime 分号后面表示版本信息
FROM microsoft/dotnet:1.1-runtime
#声明变量 在docker build建立镜像时 使用--build-arg 传入参数source
ARG source
#设置路径指令 至关于cd 切换到根目录/app路径下
WORKDIR /app
#复制指令 若是source建立是没有赋值,默认路径为obj/Docker/publish
COPY ${source:-obj/Docker/publish} .
#指定容器启动时执行的命令
ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
FROM microsoft/dotnet:lastest
WORKDIR /app
COPY out .
ENTRYPOINT ["dotnet","app.dll"]
dotnet restore
dotnet publish -c Release -o out
docker build -t app .
docker run -p 5000:80 -e "ASPNETCORE_URLS=http://+:80" -it --name test --rm app