.NET CoreのDockerコンテナ化
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>.NET Core]]
--[[.NET CoreのDockerfile]]
--.NET CoreのDockerコンテナ化
* 目次 [#v3d14097]
#contents
*概要 [#n8836370]
.NET CoreのDockerコンテナ化に必要な検討事項。
*詳細 [#z34cd9bd]
**プログラム [#s4c11639]
***初期化処理 [#ebf51ae0]
Program.cs、Startup.csなどの初期化処理を変更する。
-UseUrlsを設定する。
-SessionストアをRedisに変更するなど。
--[[ASP.NET Coreのデータ保護]]
--[[ASP.NET Coreの分散キャッシュ]]
-[[カレント・ディレクトリを変更>https://opentouryo.osscon...
**ファイル [#o079012d]
-使用するファイルは以下の2つの方法で、コンテナに含める。
-何れの方法も、プロジェクト・ファイルの変更が必要になる。
***プロジェクト出力に含める。 [#b0d9b7d0]
プロジェクト出力に含めると、~
[[Dockerfile>#ac46adab]]の以下コマンドでコンテナに出力さ...
RUN dotnet publish -c release -o /app
...
COPY --from=build /app ./
***埋め込まれたリソースに変更する。 [#yf610b5d]
埋め込まれたリソースとして埋め込む。
**[[Dockerfile>.NET CoreのDockerfile]] [#ac46adab]
***開発用から本番用に切り替える。 [#df3dcc20]
-https://github.com/NetDevInfraWGinOSSConsortium/OAuth2Oi...
-
https://github.com/NetDevInfraWGinOSSConsortium/OAuth2Oid...
***必要なファイルを指定のパスにコピーする。 [#be89366a]
-[[プロジェクト出力に含める>#b0d9b7d0]]方式も併用する。
-以下は[[HTTPS化>#r0668323]]するための証明書
COPY ["MultiPurposeAuthSiteCore/aspnetapp.pfx", "./"] # ...
**通信 [#kf288fe9]
***外部通信・内部通信 [#w83d0b0b]
外部通信か、内部通信かを検討する。
-外部通信
--Docker Composeのportsでコンテナ・ポートをホスト・ポート...
--Cookieを伴う外部通信は[[HTTPS化>#r0668323]]が必要になる...
-内部通信
--Docker Composeのnetworksで同一のネットワークに含めて通...
--内部通信は[[HTTPのまま>#r0668323]]にする必要がある。
***HTTPS化 [#r0668323]
-[[SameSite属性の件]]でHTTPS化が必要になる。
-また、内部通信はHTTPでの通信にする。
--自己署名証明書の検証ができない。
--[[HTTPSリダイレクト>SSL/TLS#wdbb4f4a]]を無効化する。
//app.UseHttpsRedirection();
-参考
--HTTPS 経由 ASP.NET Docker を使用したコア イメージのホス...
https://docs.microsoft.com/ja-jp/aspnet/core/security/doc...
**設定 [#b33e15fb]
***URLから仮想ディレクトリを削除する。 [#e24936ad]
コンテナの場合はルートディレクトリは仮想ディレクトリでな...
***パスをLinux使用に変更する。 [#c7e4d9c5]
-WindowsパスだとLinux上で認識しない。
-標準でLinuxパスにしてしまっても良い。~
LinuxパスはWindows上で認識するため。
***環境変数で設定を上書き可能にする。 [#q1d15011]
-環境変数は、Docker Composeで設定すると楽。
-内部通信のホスト名は、サービス名に変更する。
-以下の例ではConnectionString_XXX変数を上書きしている。
environment:
- UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
- RedisConfig=redis
- RedisInstanceName=redis
- ASPNETCORE_Kestrel__Certificates__Default__Password...
- ASPNETCORE_Kestrel__Certificates__Default__Path=/ap...
- ConnectionString_SQL=Data Source=sqlserver;Initial ...
- ConnectionString_MCN=Server=mysql;Database=test;Use...
- ConnectionString_NPS=HOST=postgres;DATABASE=postgre...
*参考 [#jf8e9cec]
**github.com [#e0098bf0]
以下を比較すると良い。
-https://github.com/OpenTouryoProject/
-https://github.com/NetDevInfraWGinOSSConsortium
**OSSコンソーシアム [#x50f21bf]
***Open 棟梁 Wiki [#ob013b79]
[[Docker対応>https://opentouryo.osscons.jp/index.php?Dock...
***開発基盤部会 Wiki [#l2982418]
[[コンテナ化する際の設定ポリシー>https://dotnetdevelopmen...
----
Tags: [[:.NET開発]], [[:.NET Core]], [[:仮想化]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>.NET Core]]
--[[.NET CoreのDockerfile]]
--.NET CoreのDockerコンテナ化
* 目次 [#v3d14097]
#contents
*概要 [#n8836370]
.NET CoreのDockerコンテナ化に必要な検討事項。
*詳細 [#z34cd9bd]
**プログラム [#s4c11639]
***初期化処理 [#ebf51ae0]
Program.cs、Startup.csなどの初期化処理を変更する。
-UseUrlsを設定する。
-SessionストアをRedisに変更するなど。
--[[ASP.NET Coreのデータ保護]]
--[[ASP.NET Coreの分散キャッシュ]]
-[[カレント・ディレクトリを変更>https://opentouryo.osscon...
**ファイル [#o079012d]
-使用するファイルは以下の2つの方法で、コンテナに含める。
-何れの方法も、プロジェクト・ファイルの変更が必要になる。
***プロジェクト出力に含める。 [#b0d9b7d0]
プロジェクト出力に含めると、~
[[Dockerfile>#ac46adab]]の以下コマンドでコンテナに出力さ...
RUN dotnet publish -c release -o /app
...
COPY --from=build /app ./
***埋め込まれたリソースに変更する。 [#yf610b5d]
埋め込まれたリソースとして埋め込む。
**[[Dockerfile>.NET CoreのDockerfile]] [#ac46adab]
***開発用から本番用に切り替える。 [#df3dcc20]
-https://github.com/NetDevInfraWGinOSSConsortium/OAuth2Oi...
-
https://github.com/NetDevInfraWGinOSSConsortium/OAuth2Oid...
***必要なファイルを指定のパスにコピーする。 [#be89366a]
-[[プロジェクト出力に含める>#b0d9b7d0]]方式も併用する。
-以下は[[HTTPS化>#r0668323]]するための証明書
COPY ["MultiPurposeAuthSiteCore/aspnetapp.pfx", "./"] # ...
**通信 [#kf288fe9]
***外部通信・内部通信 [#w83d0b0b]
外部通信か、内部通信かを検討する。
-外部通信
--Docker Composeのportsでコンテナ・ポートをホスト・ポート...
--Cookieを伴う外部通信は[[HTTPS化>#r0668323]]が必要になる...
-内部通信
--Docker Composeのnetworksで同一のネットワークに含めて通...
--内部通信は[[HTTPのまま>#r0668323]]にする必要がある。
***HTTPS化 [#r0668323]
-[[SameSite属性の件]]でHTTPS化が必要になる。
-また、内部通信はHTTPでの通信にする。
--自己署名証明書の検証ができない。
--[[HTTPSリダイレクト>SSL/TLS#wdbb4f4a]]を無効化する。
//app.UseHttpsRedirection();
-参考
--HTTPS 経由 ASP.NET Docker を使用したコア イメージのホス...
https://docs.microsoft.com/ja-jp/aspnet/core/security/doc...
**設定 [#b33e15fb]
***URLから仮想ディレクトリを削除する。 [#e24936ad]
コンテナの場合はルートディレクトリは仮想ディレクトリでな...
***パスをLinux使用に変更する。 [#c7e4d9c5]
-WindowsパスだとLinux上で認識しない。
-標準でLinuxパスにしてしまっても良い。~
LinuxパスはWindows上で認識するため。
***環境変数で設定を上書き可能にする。 [#q1d15011]
-環境変数は、Docker Composeで設定すると楽。
-内部通信のホスト名は、サービス名に変更する。
-以下の例ではConnectionString_XXX変数を上書きしている。
environment:
- UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
- RedisConfig=redis
- RedisInstanceName=redis
- ASPNETCORE_Kestrel__Certificates__Default__Password...
- ASPNETCORE_Kestrel__Certificates__Default__Path=/ap...
- ConnectionString_SQL=Data Source=sqlserver;Initial ...
- ConnectionString_MCN=Server=mysql;Database=test;Use...
- ConnectionString_NPS=HOST=postgres;DATABASE=postgre...
*参考 [#jf8e9cec]
**github.com [#e0098bf0]
以下を比較すると良い。
-https://github.com/OpenTouryoProject/
-https://github.com/NetDevInfraWGinOSSConsortium
**OSSコンソーシアム [#x50f21bf]
***Open 棟梁 Wiki [#ob013b79]
[[Docker対応>https://opentouryo.osscons.jp/index.php?Dock...
***開発基盤部会 Wiki [#l2982418]
[[コンテナ化する際の設定ポリシー>https://dotnetdevelopmen...
----
Tags: [[:.NET開発]], [[:.NET Core]], [[:仮想化]]
ページ名: