« LINEモバイルでLINEのSMS認証をスキップする件 | トップページ | 子供に持たせるスマホとしてWindows 10 Mobileは結構いいですよという話 »

2016年11月23日 (水)

VS2017RCでローカルのDockerコンテナ上でアプリをデバッグ実行しようとすると"MSB4018"エラーになる問題

覚え書き。

問題点

"Connect(); 2016"のキーノートのデモで、 Visual Studio 2017を使ってASP.NET CoreアプリをローカルのDockerコンテナで動かすというやつ(ビデオでは1時間10分頃から)があります。 それを見て、いっちょやってみようと思うわけです。

ということで、Visual Studio 2017 RCとDocker for Windowsをインストールし、 「ASP.NET Core Webアプリケーション」をテンプレートから作り、 Docker上でデバッグ実行しようとすると、 以下のエラー(MSB4018)が出ます。

"PrepareForLaunch" タスクが予期せずに失敗しました。

Microsoft.DotNet.Docker.CommandLineClientException: Creating network "webapplication12161511896_default" with the default driver

Building webapplication1

Creating webapplication12161511896_webapplication1_1

ERROR: for webapplication1 Cannot create container for service webapplication1: E: drive is not shared. Please share it in Docker for Windows Settings

Encountered errors while bringing up the project..

解決法

Docker for Windowsにドライブ共有の設定を追加します。

Docker for Windowsの"Settings"画面の"Shared Drives"タブを開いて、コンテナがローカルディスクを参照できるようにします。 要するに、 ここに書いてある設定を行う。

私の例の場合、プロジェクトを置いているドライブ(E:ドライブ)とシステムドライブ(C:ドライブ)の両方を共有する必要がありました。

また、セキュリティソフト等でファイヤーウォールが有効になっている場合、 Docker for Windowsのネットワーク上(デフォルトでは 10.0.75.0/24)でWindowsのファイル共有(TCPのポート445)が通るようにしておかなければなりません。 その説明は、ここ。 具体的な設定の仕方は使っているセキュリティソフトによって異なります。

まあ…

Visual Studio Tools for Dockerのドキュメントにはちゃんと説明されているし、 エラーメッセージもちゃんと読めば指示が書いているんですけどね。 キーノートのビデオ見て「いっちょやったろ」とそのままやってみたら、私のようにはまるかなと。

« LINEモバイルでLINEのSMS認証をスキップする件 | トップページ | 子供に持たせるスマホとしてWindows 10 Mobileは結構いいですよという話 »

Visual Studio」カテゴリの記事

覚え書き」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/595179/64532296

この記事へのトラックバック一覧です: VS2017RCでローカルのDockerコンテナ上でアプリをデバッグ実行しようとすると"MSB4018"エラーになる問題:

« LINEモバイルでLINEのSMS認証をスキップする件 | トップページ | 子供に持たせるスマホとしてWindows 10 Mobileは結構いいですよという話 »