私はC#ソリューションを持っています。4つのプロジェクトがあり、3つはDLLで、1つはコンソールアプリケーションがそれらのDLLを使用しています。
Visual Studio で docker サポートを使用して docker イメージをビルドしようとしましたが、次のように My dockerfile に失敗します。
> FROM microsoft/windowsservercore:ltsc2016
> EXPOSE 80
> EXPOSE 1433
> EXPOSE 29051
>
> COPY bin/x64/debug /root/ ENTRYPOINT
> /root/RmsMainConsole.exe
dockerfile があるディレクトリに CD を移動し、docker build を実行します。エラー:
Docker CLI command : docker build -t rmsmainconsole:self-hosted .
Sending build context to Docker daemon 55.61MB
Step 1/6 : FROM microsoft/windowsservercore:ltsc2016
---> 9dbf7f740334
Step 2/6 : EXPOSE 80
---> Using cache
---> ad0ad85fd107
Step 3/6 : EXPOSE 1433
---> Using cache
---> 81ba13dbd4d4
Step 4/6 : EXPOSE 29051
---> Using cache
---> 1fa3db800abf
Step 5/6 : COPY bin/x64/debug /root/
COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder043346063\bin\x64\debug: The system cannot find the path specified.
PATH が見つからないことがわかります。一方、.sln レベルで docker ファイルを作成しようとしました。docker ファイルの 1 行を変更しました。
COPY RmsMainConsole/bin/x64/debug /root/
注: 「RmsMainConsole」ディレクトリが追加されました。
.sln レベルで docker ビルドを実行し、正常にビルドしました。ログは次のとおりです。
Sending build context to Docker daemon 1.15GB
Step 1/6 : FROM microsoft/windowsservercore:ltsc2016
---> 9dbf7f740334
Step 2/6 : EXPOSE 80
---> Running in fe97cf236d5a
Removing intermediate container fe97cf236d5a
---> c31e236353b6
Step 3/6 : EXPOSE 1433
---> Running in f031fce5ecba
Removing intermediate container f031fce5ecba
---> 96c704c68ffb
Step 4/6 : EXPOSE 29051
---> Running in 365e2be43d0e
Removing intermediate container 365e2be43d0e
---> d30c3fb2214b
Step 5/6 : COPY RmsMainConsole/bin/x64/debug /root/
---> b214c1edc256
Step 6/6 : ENTRYPOINT /root/RmsMainConsole.exe
---> Running in 5c819915532a
Removing intermediate container 5c819915532a
---> 247f01bb9b82
Successfully built 247f01bb9b82
Successfully tagged rmsmainconsole:self-hosted
成功したビルドと失敗したビルドの 2 つの違いに気付きました: 1. Docker コンテキストのサイズ 2. ステップ 5/6 のログ:
COPY に失敗しました: CreateFile \?\C:\ProgramData\Docker\tmp\docker-builder043346063\bin\x64\debug: 指定されたパスが見つかりません。
と
---> b214c1edc256
Visual Studio Docker サポートを使用して Docker イメージをビルドするにはどうすればよいですか。どこで私は間違えましたか ?