入門
ドッカーが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