Centos 7 ASP.NET Core 1.0 Docker部署

來源:互聯網
上載者:User

標籤:

先決條件

64位,核心3.10以上,查看當前的核心版本,開啟一個終端使用uname -r顯示您的核心版本

??

??

??

安裝

sudo yum update

??

sudo tee /etc/yum.repos.d/docker.repo <<-‘EOF‘

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

??

??

??

安裝docker

sudo yum install docker-engine

??

??

啟動docker

sudo service docker start

??

驗證docker已正常安裝

??

安裝.net core 鏡像

https://hub.docker.com/r/microsoft/dotnet/

??

??

建立檔案Dockerfile?,並修改內容

??

??

檔案內容

#基於`mcrosoft/dotnet:1.0.0-core` 來構建我們的鏡像

FROM microsoft/dotnet:1.0.0-core

??

#拷貝項目publish檔案夾中的所有檔案到 docker容器中的publish檔案夾中

COPY . /publish

#設定工作目錄為 `/publish` 檔案夾,即容器啟動預設的檔案夾

??

WORKDIR /publish

??

#設定Docker容器對外暴露60000連接埠

EXPOSE 60000

??

#使用`dotnet MyApp.TestCore.dll`來運行應用程式

??

CMD ["dotnet", "MyApp.TestCore.dll"]

??

??

??

??

構建鏡像

docker build -t my-dotnet-app .

??

注意最後有個.

如果建立失敗,需要vpn才可以,這一步我試了幾次總有逾時,就找了個vpn再次構建就成功了

??

??

運行

docker run --name my-dotnet-app -d -p 60000:60000 my-dotnet-app

??

測試網站

??

失敗了,報curl: (56) Recv failure: Connection reset by peer

??

參考解決辦法:http://stackoverflow.com/questions/27806631/docker-rails-app-fails-to-be-served-curl-56-recv-failure-connection-reset

??

修改程式如下:添加UseConfiguration

var configuration = new ConfigurationBuilder()

.AddCommandLine(args)

.Build();

??

var host = new WebHostBuilder()

.UseKestrel()

.UseContentRoot(Directory.GetCurrentDirectory())

.UseConfiguration(configuration)

.UseIISIntegration()

.UseStartup<Startup>()

.Build();

??

host.Run();

??

發布程式

修改Dockerfile?檔案如下

??

??

FROM microsoft/dotnet:1.0.0-core

??

COPY . /publish

??

WORKDIR /publish

??

EXPOSE 5003

??

CMD ["dotnet", "MyApp.TestCore.dll","--server.urls", "http://*:5003"]

??

重新構建鏡像

??

sudo docker build -t dotnetapp .

??

??

運行並查看

sudo docker run --name dotnetapp -d -p 5003:5003 dotnetapp

??

??

測試網站

??

??

api返回資料,成功

防火牆開放連接埠

$ sudo firewall-cmd --zone=public --add-port=5003/tcp --permanent
$ sudo firewall-cmd --reload

??

??

說下遇到的問題:

1.構建鏡像時由於網路原因,試了好幾次都沒有成功,需要找個vpn

2.curl: (56) Recv failure: Connection reset by peer 這個錯誤,.net core預設建立的網站綁定的是localhost這個需要修改網站綁定方式,通過添加

UseConfiguration或UseUrls方式修改預設網站的綁定

??

??

??

??

??

??

Centos 7 ASP.NET Core 1.0 Docker部署

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.