簡単なASPを実行します.DockerでのネットコアWebアプリケーション


私は日本語、英語に私の記事をtaranslateしようとします.
https://qiita.com/orange634nty/items/ad81ded6545fc1c90a81

これは何ですか。


読んだ後Cサーバに興味がありますthis article .
それで、私は非常に単純なASPをつくろうとします.NETコアアプリケーションの実行
Dockerで

環境

  • OS : Macosx Mojave
  • DotNet :バージョン2.2.101
  • Docker :バージョン18.09.0
  • プロジェクト作成


    まず、ASPを作成します.NETコアプロジェクト.
    用途dotnet new コマンドを作成するASP.NET Core Empty テンプレートから.
    次のオープンApp.cs ファイルと追加UseUrls("http://*:5000") .
    これを追加しない場合は、localhostからアプリケーションにのみアクセスできます.
    ASP.NET Core Web Host#Server URLs
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Logging;
    
    namespace csharp_dotnet_server_docker
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                CreateWebHostBuilder(args).Build().Run();
            }
    
            public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
                WebHost.CreateDefaultBuilder(args)
                    .UseUrls("http://*:5000")  // <- add this!!
                    .UseStartup<Startup>();
        }
    }
    
    今すぐアプリケーションが準備が整いました.

    セットアップDocker


    クリエイトアDockerfile , どのベースイメージがmicrosoft/dotnet .
    FROM microsoft/dotnet
    
    WORKDIR /app
    COPY . /app
    
    クリエイトアdocker-compose.yaml 下記のファイル.
    version: "3"
    services:
      app:
        build: .
        container_name: "csharp-dotnet-server-docker"
        ports:
          - 5000:5000
        volumes:
          - .:/app
        command: ["dotnet", "watch", "run"]
    
    設定しますcommand: ["dotnet", "watch", "run"] .dotnet watch run コマンドは、アプリケーションを実行し、ファイルの変更を監視します.
    変更がある場合は、タスクが再構築され、アプリケーションの自動再実行されます.それは非常に開発に便利です.

    ビルドと実行


    イメージをビルドし、Dockerのコマンドを使用して実行します.
    $ docker-compose build
    # wait for build
    
    $ docker-compose up -d
    # wait for start
    
    $ docker logs csharp-dotnet-server-docker
    watch : Polling file watcher is enabled
    watch : Started
    Hosting environment: Development
    Content root path: /app
    Now listening on: http://[::]:5000
    Application started. Press Ctrl+C to shut down.
    
    Dockerコンテナを起動した後、http://localhost:5000 あなたのブラウザで.
    閉じるこの動画はお気に入りから削除されています.

    最後に


    私はASPを走らせることができました.かなり簡単にDocker上のNET Webアプリケーション.
    今後はDockerでDBを使ったサンプルアプリケーションを作りたいです.
    この記事に使用するコードはGitHub
    読書ありがとう!