Docker作为新一代的假造化体式格局,将来肯定会获得普遍的运用,传统假造机的布置体式格局要保证开辟环境、测试环境、UAT环境、生产环境的依靠一致性,须要大批的运维人力,运用Docker我们能够完成一次布置,随处运转。
本文引见怎样把ASP.NET Core网站布置在Docker中运转。
软件环境清单
CentOS 7.3.1611
Docker 1.12.6
.NET Core 1.1
装置Docker
$ #装置Docker $ yum install docker $ #启动docker效劳 $ systemctl start docker.service $ #设置开机启动 $ systemctl enable docker.service
设置Docker加速器
因为尽人皆知的缘由,要想流畅地运用Docker,须要设置Docker加速器,不然你会以为回到了拨号上网的时期。
我运用的是DaoCloud,号称永远免费。注册地点是:https://account.daocloud.io/signin。
用微信扫一扫就能够疾速完成注册。
注册完成会提供有一个设置剧本地点:
$ #设置docker加速器 $ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://xxxxxx.m.daocloud.io $ #重启见效 $ systemctl restart docker
拉取ASP.NET Core镜像
$ docker pull microsoft/aspnetcore $ #搜检是不是胜利 $ docker images
预备ASP.NET Core网站宣布文件
能够参考我之前的文章:ASP.NET Core 网站宣布到Linux效劳器
建立Dockerfile
放到网站根目录,文件内容参考以下:
FROM docker.io/microsoft/aspnetcore COPY ./publish WORKDIR /publish EXPOSE 8080 CMD ["dotnet", "TestAspNetCoreWeb.dll"]
打包镜像
$ #注重末了有个点。 $ docker build -t test-netcore:1.0 .
启动容器
$ docker run --name test-netcore -p 8080:8080 -d test-netcore:1.0 $ #搜检容器是不是启动胜利,假如启动后没结果,尝尝docker run 不加-d,假如有报错有提醒信息。 $ docker ps
网站运转胜利。
附
设置历程我碰到容器启动失利的两个状况:
1.网站的监听运用了ip,报错“Error -99 EADDRNOTAVAIL address not available”
2.网站的监听运用了localhost,报错“curl: (56) Recv failure: Connection reset by peer”
末了发明运用http://*:8080来监听才胜利。
docker run 失利后再次运转会提醒称号已存在,能够运用docker rm -f [容器称号] 删除容器或换个称号。
以上就是关于ASP.NET Core网站在Docker中运转的详解的细致内容,更多请关注ki4网别的相干文章!