問題タブ [docker-for-windows]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2703 参照

c# - docker microsoft/iis を使用するボリューム

Docker コンテナーにボリュームをアタッチしようとしましたが、試した方法はどれも機能しませんでした。私は Azure Windows 2016 vm を使用しています。ドッカー情報は次のとおりです。

そのため、docker ファイルで IIS Web サイトを inetpub/root にコピーしています。私の目標は、コンテナーの /inetpub をローカル マシンにマウントして、実行時にスクリプトと web.config を変更できるようにすることです。

最初は dockerfile で VOLUME /inetpub を試してみましたが、正常にビルドされましたが、コンテナーを実行すると、次のエラーが表示されます。

CreateContainer 中にエラーが発生しました: Windows システム コールでエラーが発生しました: ディレクトリが空ではありません

しかし、ボリュームを空にする必要があることについて、ドッカーのドキュメントのどこにも言及されていません。

それで、 docker run -p 80:80 -v C:/build/inetpub:C:/inetpub web/iis のように、実行時にボリュームをアタッチしてみました。これにより、上記と同じエラーが発生しました。しかし、
docker run -p 80:80 -v C:/build/inetpub:C:/randomtest web/iis を試すと。動作しますが、コンテナが停止しないとファイルを変更できません。

私が最後に試したのは、docker-compose での作業でした。私のサービスにはボリュームがあります: - ./inetpub:/inetpub で次のエラーが発生します

サービス wfgen のコンテナーを作成できません: 無効なボリューム仕様 "/inetpub": 無効なボリューム仕様

- ./inetpub:/inetpub のさまざまなバリエーションを試しましたが、常に同じエラーが発生しました。

助けてくれてありがとう、私は結果なしで何日もこれにこだわっています.

ここに私のdockerファイルがあります

0 投票する
1 に答える
1165 参照

azure - Windows Nano Server 上の Docker: ディスクに十分なスペースがありません

Windows Server 2016 Nano Server で docker を正常に開始しました。イメージ microsoft/nanoserver および microsoft/sample-dotnet を取得しました

しかし、microsoft/dotnet-framework などの別のイメージを取得しようとすると、次のメッセージが表示されます。

「docker : write C:\Windows\TEMP\GetImageBlob193586394: ディスクに十分なスペースがありません。」

512 GB SSD を搭載した Azure 上の Nano Server を使用しています。そして、OSをデプロイしました。

誰が何が起こっているのか知っていますか?

ありがとうございました!

0 投票する
2 に答える
12196 参照

docker - Windows 10 で Docker for Windows を使用してコンテナー ポートをホストに公開する

docker APIを読み、単純なコンテナーを作成して 1 つのポートを公開しようとしました。

私の例では、コンテナー内のTCPポートでリッスンするアプリケーションがあり、ポート9595で外界 (コンテナーのホスト) からアクセスしたいと考えています9090

私が持っているコンテナを作成するとき"ExposedPorts": { "9595/tcp: {}" }"PortBindings": { "9595/tcp": [{ "HostPort": "9090" }] }.

なので、ホストマシンからアクセスすれば動きますhttp://container_internal_ip:9595!しかし、http://localhost:9090このポート マップ機能を使用して期待していた にアクセスすると、機能しません...

走っている間、docker port containerID私は持っていて9595/tcp -> 0.0.0.0:9090、それはwhen connecting to any IP on the host, at port 9090, forward to the container in port 9595.

それで、ここで何が問題なのですか?9090 に接続できないのはなぜですか?

説明をいただければ幸いです。

0 投票する
1 に答える
3656 参照

docker - 「Docker for Windows」で docker remote API を有効にする方法

Windows 10 マシンにDocker Desktop for Windows 1.12.1-stable (build: 7135) がインストールされています。port を介してリモート APIを使用して docker にアクセスしたいと考えています4243。このポートはデフォルトでは有効になっていないと思います。それを開く方法はありますか?

0 投票する
1 に答える
1993 参照

docker - nanoserver/windowsservercore の Docker プルが失敗し、抽出の最後にレイヤー アクセスが拒否されるというメッセージが表示される

以下のリンクを使用してdockerイメージをプルしています

https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_10

nanoserver イメージをプルするステップ 3 エラーが発生しました。これは、windowservercore イメージのプルでも発生しています。として表示されるエラー  

まさに抽出の最後に、アクセスが拒否されて失敗しています。イベントビューアからの以下のエラー

v2 レジストリの試行エラー: レイヤーの登録に失敗しました: C:\ProgramData\docker\image\windowsfilter\layerdb\tmp\write-set-552404215 の名前を変更します拒否された。

エラー後のプルの次のエンドポイントを試行中: レイヤーの登録に失敗しました: 名前の変更 C:\ProgramData\docker\image\windowsfilter\layerdb\tmp\write-set-552404215 C:\ProgramData\docker\image\windowsfilter\layerdb\sha256\342d4e407550c52261edd20cd901b5ce438f0b1e940336de397282506 : アクセスが拒否されました。

更新 1: すべてのイメージではなく、いくつかの microsoft/* イメージで問題が発生しています。

0 投票する
11 に答える
41547 参照

docker - Docker for Windows の実行、ポート公開時のエラー

Windows で Docker を実行することについて多くの質問があることは承知していますが、この質問は Windows で最新の Docker for Windows を実行することに関するものです。
私の場合、Windows 10 Pro 64 ビットを使用しています。サイトによると、このバージョンはサポートされているはずです。
ここで見つけたチュートリアルに従っています: https://prakhar.me/docker-curriculum/
また、もちろん公式ガイドに従ってみました: https://docs.docker.com/docker-for-windows/

-P両方のチュートリアルで、パラメーターを使用してポートを割り当てようとしたとき、またはポートを指定しようとしたときに、同じエラー メッセージが表示され-p 8080:5000ます。

公式ガイドで実行docker run -d -p 80:80 --name webserver nginxして取得します:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: デーモンからのエラー応答: ドライバーがエンドポイント Web サーバーでの外部接続のプログラミングに失敗しました (f9946544e4c6ad2dd9cb8cbccd251e4d48254e86562bd8e6da75c3bd42c7e45a): ユーザーランド プロキシの起動中にエラーが発生しました: mkdir /port/tcp:0.0.0.0: 80:tcp:172.17.0.2:80: 入出力エラーです。

非公式ガイドに従って実行するdocker run -p 8888:5000 prakhar1989/catnipと、基本的に同じエラーが発生します。

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: デーモンからのエラー応答: ドライバーがエンドポイント focusd_swartz での外部接続のプログラミングに失敗しました (48a0c005779c6e89bf525ead2ecff44a7f092495cd22ef7d19973002963cb232): ユーザーランド プロキシの起動エラー: mkdir /port/tcp:0.0.0.0: 8888:tcp:172.17.0.2:5000: 入出力エラーです。

ポートを割り当てようとしないと、コンテナーは実行されますが、アクセスする方法がわかりません。

私が実行しているドッカーのバージョン:

  • Docker バージョン 1.12.3、ビルド 6b644ec`
  • docker-compose バージョン 1.8.1、ビルド 004ddae`
  • docker-machine.exe バージョン 0.8.2、ビルド e18a919`

どんな助けでも大歓迎です。ありがとうございました。

0 投票する
1 に答える
61 参照

docker - npm タスクを実行できる Web アプリの構築

構成を投稿する前に、何をアーカイブしたいのか、何を言及したいのかを説明しようとします。

パスの会話を簡単にするために、「Docker me up!」というプロジェクトについて話すとしましょう。にありX:\docker-projects\docker-me-up\ます。

ゴール:

コンテンツが異なる複数の nginx プロジェクトを実行したいと思います。各プロジェクトは専用のビルドを表します。開発中 [ docker-compose up -d] コンテナーは即座に更新される必要があります。これは正常に動作します。

トリッキーな部分は、npm [ http://gruntjs.com]をホストからコンテナー/イメージに直接外部委託することです。これにより、docker をインストールするだけで、どこにいてもデバッグと開発を行うことができます。したがって、npm を「サービス」にインストールし、ウォッチャーを初期化する必要があります。

各プロジェクトは、docker のホスト/ビルド上の独自のフォルダーにカプセル化されており、それ自体以外の知識を持ってはいけません。

私の解決策:

「volumes_from」などを使用してさまざまなバージョンを試しましたが、縮小されていますが完全な状態であるため、これを表示することにしました。

Docker-compose.yml

Dockerfile

問題:

ご覧のとおり、「data」サービスにはnpmが含まれており、npm コマンドを実行できるはずです。しかし、実行するとdocker-compose up -dすべてが機能します。ページのコンテンツを編集したり、操作したりできますが、データ コンテナーが実行されていないため、npm コマンドを実行できません。大きな論理エラーがない限り。これはかなり可能です;-)

環境:

  • Windows 10 プロ [up2date]
  • docker の共有ドライブを使用
  • Docker バージョン 1.12.3、ビルド 6b644ec
  • docker-machine バージョン 0.8.2、ビルド e18a919
  • docker-compose バージョン 1.8.1、ビルド 004ddae
0 投票する
1 に答える
1127 参照

docker - Docker コンテナー内で chown を呼び出せない (Docker for Windows)

公式の Mongo dockerfileを使用してデータベースを起動しようとしています。コマンドを使用して、-vローカル ディレクトリを/dataコンテナー内にマップしています。

の一部として、Dockerfileこのディレクトリをユーザー mongodb に chown しようとします。

ただし、これは次のコマンドで失敗します。

ここで何が間違っていますか?これに関するドキュメントが見つかりません。docker run コマンドで明示的に渡されているため、コンテナーにはマップされたディレクトリへの完全なアクセス許可が必要です。