問題タブ [volumes]
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.
java - Java コードからの非常に多数の Web 呼び出し
同じサーバー上のさまざまなページに対して約650万回の呼び出しを行う必要があるプログラムをJavaで作成しています(テキストファイルから読み取られるユーザー名を追加することにより、URLがわずかに変更されます)..まず、最も知りたいことこれを行う時間効率の良い方法、第二に、これがどれくらいの時間を消費するかについて誰でも推測できますか?? 現在、ExecutorServiceオブジェクトの個別のスレッドで各URLを読んでいます..このようなもの
run メソッドは次のようになります。
どんな提案でも大歓迎です
docker - ホストにボリュームをマウントするdocker
を使用して、docker コンテナーとボリュームの間でフォルダーを共有することに成功しました。
VOLUME
しかし、私の質問は、これとDockerfile でコマンドを使用することの違いは何ですか
コマンドを含むイメージを使用していますが、VOLUME
それをホストと共有する方法を知りたいです。上記のコマンドを使用して実行しましたが、と-v
の両方が必要かどうかわかりませんでした。-v
VOLUME
docker - リンクなしの Docker ボリューム。ユースケースは何ですか?
これまでのところ、VOLUME は
- 永続化されるデータ コンテナ内のディレクトリを指定します
- ホスト コンテナにリンクする場所を指定します
私が理解できていないのは、VOLUME /path/to/app
またはさらに悪いことを使用する Dockerfile が非常に多く見られる理由VOLUME /var/lib/mysql
です。このボリュームを持つコンテナーを作成し、--volumes-from
永続化のためにそのコンテナーにリンクするために使用することをお勧めします。しかし、実際にそのデータを使用しているコンテナー内でその仕様を作成するのはなぜでしょうか。それはどのように役立ちますか?私が見る限り、 VOLUME /var/data
ただ言っているのと何ら変わりはありませんRUN mkdir /var/data
。ボリュームがデータ コンテナー内にない場合、ホストと共有されている場合、または他のコンテナーによって使用されている場合、ボリュームはどのように役立ちますか?
mysql - Docker - 同じボリュームのデータのみのコンテナーを使用する MySQL コンテナー
現在、データのみのコンテナーから同じボリュームを使用する複数の MySQL コンテナーを実行する方法を理解しようとしています。最初のコンテナを実行してそこにデータベースとレコードを正常に作成した後、別の新しい MySQL コンテナを実行しようとしたところ、次のエラーに直面しました。
コンテナーを使用して、さまざまなポートをホスト 3306 にマップしました。どうしたの?oO
mongodb - データ コンテナーのボリュームをボリュームにマップする
「/data/db」にボリュームを作成する(Usmanが述べたように、公式ではない)mongodbイメージ(https://registry.hub.docker.com/u/dockerfile/mongodb/ )を使用しています
mongdb コンテナーを作成します。
データ コンテナーを実行します。
データコンテナでmongdbコンテナを実行します(mongoデータをデータコンテナに書き込みます)
私はそれをテストしました:
...db ファイルが作成されます。ここまでは順調ですね。
しかし、データ コンテナーのボリュームが/mongodb/dataにあり、それを mongodb コンテナーの/data/dbボリュームにマップしたい場合はどうすればよいでしょうか?
...このような:
それは可能ですか?
windows - Windows パスでボリューム ラベルを使用する方法
取得したドライブ文字に関係なく、バッチ ファイルを使用してリムーバブル ドライブからファイルをコピーしたいと考えています。
これまでのところ、行きません。ボリューム ラベルに基づいてパスを処理する、すぐに利用できるコマンドやサードパーティのコマンド ライン ツールはないようです。
FreeFileSync を試してみましたが、大きなバッチで動作し、ここでは正確なファイル操作が必要です。また、削除は行われず、ペンドライブからファイルを移動する必要があります。
しかし、私の興味をそそるのは、次のような無意味なコマンドを発行することです...
...デフォルトのエラーメッセージに非常に興味深いビットが表示されます。
このメッセージが信頼できるものであるとすれば、そこにボリューム ラベルを配置するための正しい構文があることを意味します。それともありませんか?
注: 必要に応じて、小さな "getdriveletterforvolume" ツールを作成することで解決できますが、車輪の再発明はしたくありません。また、長時間のバッチ ファイル操作中に、ドライブが取り外されて別のドライブに置き換えられる場合があります。その時点で、操作を停止し、同じドライブ文字を取得する別のドライブで続行しないようにする必要があります。
注 2: \\?\Volume{12345678.....} を使用するのは最後の手段ですが、ある程度調整することはできますが、...
...しかし、それは醜く、2つのペンドライブに同じラベルを付けて同じように動作させるような魔法を行うことはできません。一般的なケースではないことはわかっていますが、すぐに解決できる可能性がある場合に、選択肢を制限する必要はありません。
編集:進行状況。VOLUMEID として値を返すようにサブルーチンを変更しました。
...しかし、ペンドライブが見つからない場合は、wmic
空のような値(空の文字列ではなく、if %%A==""
チェックに失敗します)を返すため、最終的にIF EXIST \
trueになります。そのような空の結果を削除するにはどうすればよいですか..? SET VOLUMEID=$FOO$
の前に試しましたFOR
が、とにかく空の値で上書きします。
ついに!これが役立つと思う人のための概念実証です。
EXIST チェックに失敗するために返される $ 偽の値を追加しました。最後の SET VOLUMEID=%VOLUMEID... 行では、末尾のバックスラッシュが削除され (何らかの理由で 2 文字としてカウントされます)、パスが正常に%MYDRIVE%\file*.*
見えるようになります。