ASP.NET CoreのWebサイトはDockerで実行されます


Dockerは次世代の仮想化方式として、将来きっと広範な応用を得ることができて、伝統的な仮想機の配置方式は開発環境、テスト環境、UAT環境、生産環境の依存一致性を保証して、大量の運営とメンテナンスの人力を必要として、Dockerを使って私達は一回の配置を実現することができて、至る所運行します.
この記事では、ASPをNET Core Webサイトの導入はDockerで実行されます.

ソフトウェア環境リスト


CentOS 7.3.1611Docker 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 p_w_picpaths

ASPを準備する.NET Core Webサイト公開ファイル


私の前の文章を参考にすることができます:ASP.NET CoreのWebサイトをLinuxサーバに公開

Dockerfileの作成


Webサイトのルートディレクトリに配置します.ファイルの内容は次のように参照してください.
FROM docker.io/microsoft/aspnetcoreCOPY ./publishWORKDIR /publish    
EXPOSE 8080CMD ["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

Webサイトの実行に成功しました.

に付随


構成プロセスでコンテナの起動に失敗した2つの状況に遭遇しました:1.ウェブサイトの傍受はipを使って、“Error-99 EADDRNOTABLAL address not available”2.サイトの傍受はlocalhostを使用しており、「curl:(56)Recv failure:Connection reset by peer」と間違って報告されたが、http://*:8080を使用して傍受に成功したことが分かった.
docker runが失敗した後に再実行すると、docker rm-f[コンテナ名]を使用してコンテナを削除したり、名前を変更したりするプロンプトが表示されます.