3.0 asp.netcoreドッカーnginxの(ショックを受けて、本来はこのようドッカー!)

入門

ドッカーが2013年にリリースされ、ドッキングウィンドウが起動中にフランスの社内プロジェクトdotCloudの創設者である、彼は長年.Dockerのための革新的なクラウド技術は、ネットワーク相互接続からネットワークプロセスに、コンテナ・バイ・ステップごとにパッケージされたdotCloudです処理するためのアイソレーションが大幅に仮想マシン技術よりも、ドッカーより便利創造と容器のメンテナンスを軽減します。
ドッカークロス年齢のオープンソースプロジェクトであり、彼はオンラインとオフライン可能、電源を仮想化とクラウドコンピューティングの開発コストを削減解放します開発者や運用・保守要員がドッカーを理解し、習得するために必要な情報を持っているかどうか低いの導入コストは、離れて(から、不要なコストの時間を短縮する996フルスイング時代に当然ドッカーの)インタビューとなっていますボーナスアイテム。

ベース

倉庫

倉庫には、ミラーを置く場所である、と私たちは鏡にプッシュすることができ、同じ画像がラベルである、複数のバージョン(タグ)を持つことができます

ミラーリング

実際には、ミラーは、アプリケーション環境で実行パッケージ化されて、彼は軽量である(実際の開発は、ミラーをエクスポートし、別のマシンにコピーすることができます。)

ミラーを引いて

docker pull xxx

検索ミラー

docker search xxx

ミラーを削除します

docker rmi xxid

容器

クラス関係の例容器同等、容器は、固体ミラーランタイムです。コンテナは、起動、停止、削除、一時停止、作成することができます。

実行コマンド

docker ps

コマンドを実行します。

docker run xxx /bin/bash

コンテナの実行を殺します

docker kill [CONTAINERID]

ドッカーnginxの

第1のミラー、それを引いて

docker pull nginx

インストールしたばかりのローカル検索画像

リソースをミラーリングして、その後私は、コンテナのインスタンスを起動します

  • --nameは、容器の名前であります
  • -pポートマッピングは、容器の内部ローカルポート8010から80をマッピングすることです
  • 背景コンテナで実行されている設定するには、-d

ラン

上記実行することは問題ありませんが、私は、静的なページのドッキングウィンドウのnginxを実行する方法をお見せし、ここで、日常のニーズを満たしていませんでした

confに、WWW、ログフォルダを作成します

  • WWW:nginxのコンテナ設定のマッピング仮想ディレクトリ
  • CONF:マッピングnginxの設定ファイル
  • ログ:ログファイルディレクトリのマッピング

次のディレクトリWWWでのindex.htmlを作成します。

nginxの設定ファイルは、ローカルディレクトリにコピーされます

docker cp 2b3869ba5206:/etc/nginx/nginx.conf /docker/conf

配備します

docker run -d -p 8011:80 --name blognginx-test-web -v ~/docker/www:/usr/share/nginx/html -v ~/docker/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/docker/logs:/var/log/nginx nginx

  • -p 8011:80:80は、コンピュータに、容器ポートのポート8011にマッピングされます。

  • --name blognginxテスト - ウェブ:コンテナblognginxテスト・ウェブに名前を付けます。

  • -v〜/ nginxの/ WWW:を/ usr / share / nginxの/ htmlの:WWWのマウントを/ usr / share / nginxの/ htmlの

  • -v〜/ nginxの/ confに/ nginx.conf:/etc/nginx/nginx.conf:マウント/etc/nginx/nginx.conf nginx.conf

  • -v〜/ nginxの/ログ:は/ var / log / nginxの:ログのマウントは/ var / log / nginxの

ドッカーDotNetCore

netcoreはnginxのでドッキングウィンドウプロジェクトおよびプロキシを公開する
プロジェクトを作成し、ファイルの作成Dockerfileを

FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM base AS final
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "DockerDeployDemo.dll"]

docker build -t dockerwebtest . ミラーの構築

docker run --name dockerwebtest -p 8012:80 dockerwebtest//ランタイムイメージ

コード200

nginxのプロキシによっては、nginxのコードを添付します


user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    #include /etc/nginx/conf.d/*.conf;
    
        server {
        listen       80;
        server_name  localhost;
        
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #access_log logs/access.log main;
        #error_log logs/error.log;
     location / {
             
             proxy_pass http://172.17.0.1:8012;
  
             proxy_http_version 1.1;
   
             proxy_set_header Upgrade $http_upgrade;
 
             proxy_set_header Connection keep-alive;
    
             proxy_set_header Host $http_host;
           
             proxy_cache_bypass $http_upgrade;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

         }


    }
    
}

修正再起動コンテナポート8011の後に
ファイル名を指定して実行

デモをダウンロードすることができます上記のgithubのを必要とするために公開されています。

概要

デモ:https://github.com/fhcodegit/DotNetAspectCore/tree/master/DockerDeployDemo

おすすめ

転載: www.cnblogs.com/yyfh/p/11613763.html