私は複数の画像を持っています。私はインストールされた宝石を共有したい。 gemsがインストールされているフォルダで名前付きボリュームを作成することは可能ですか?それを手配する正しい方法は何ですか?ドッカービルド中にDockerfile経由で名前付きボリュームを作成することはできますか?
2
A
答えて
0
ボリュームとしてすべての宝石をインストール/更新するイメージを作成することで、この問題を解決します。あなたが宝石コンテナのDockerfileに、次の必要があります。
VOLUME /PATH/TO/GEMS
その後、共有ボリュームを使用して、他のすべてのコンテナでこれらの宝石をインポートする:
docker run --volumes-from CONTAINER_WITH_GEMS --name CONTAINER_NAME IMAGE
複数のコンテナには、1つ以上のデータボリュームを共有することができます。ただし、単一の共有ボリュームに複数のコンテナを書き込むと、データが破損する可能性があります。あなたのアプリケーションが共有データストアに書き込むように設計されているかどうかを確認することができれば、これを他の方法で解決することができます。
0
短い答えはノーです。 Dockerfileでは、名前付きボリュームを指定することはできません。
ただし、ドッカー実行時のパラメータに関係なく、作成するコンテナフォルダをボリュームとして指定できます。 VOLUMEディレクティブを使用します。
しかし、ローカルディレクトリをボリュームにマップするようにユーザーに指示する必要があります。 docker-compose.ymlファイルをユーザーに配布して、プロセスを簡単にすることができます。
関連する問題
- 1. dockerに名前付きボリュームのサブディレクトリをマウントできますか?
- 2. Dockerfileで名前付きボリュームを宣言するにはどうすればいいですか?
- 3. Azure CLI経由でSendGridアカウントを作成することはできますか?
- 4. Flash/ActionScript経由でExcelファイルを作成することはできますか?
- 5. 名前付き配列をajax経由でPHPに送る
- 6. ラムダに名前を付けることはできますか?
- 7. SSL経由で自己署名付きの認証でurlfetchを使用することはできますか
- 8. Interface Builderで名前付きカラーを作成するには?
- 9. Javaで名前付きロックを作成するには?
- 10. json.Netで名前付きサブアレイを作成
- 11. win32で名前付きデバイスを作成
- 12. SqlServer 2008 - コマンドライン経由でネット名前付きパイプを有効にする
- 13. 名前付きOSMallocTagを作成したライブラリを見つけることはできますか?
- 14. HTTP経由でファイルパイピングすることはできますか?
- 15. Dockerfileからボリュームをマウントできますか?
- 16. 私は経由でバックアップポリシー名を取得することができますバックアップポリシー
- 17. typescriptで名前付きオブジェクトを作成する方法は?
- 18. ファイルアップローダ経由でアップロード中にファイルに名前を付けるにはどうすればいいですか?
- 19. C#で名前付き自動作成を作成するには?
- 20. Pythonで 'in'変数に名前を付けることはできますか?
- 21. C#で配列インデックスに名前を付けることはできますか?
- 22. Visual Studioデバッガでスレッドに名前を付けることはできますか?
- 23. Terraform経由でCloudFrontディストリビューションを作成するときにInvalidLambdaFunctionAssociation
- 24. モジュールネームスペース内で動的に名前付きクラスを作成する
- 25. api経由でiframeアプリケーションを作成できますか?
- 26. 'ローカルデータベースランタイム:名前付きインスタンスを作成できません
- 27. ドッカービルドでソースコードをコピーすることができません
- 28. .NET経由でSkyDriveに何かをアップロードすることはできますか?
- 29. Scalaで「制限付きスコープ」を作成することはできますか?
- 30. Chrome経由で仮想MIDIデバイスをプログラムで作成することはできますか?
私はデータ専用容器を意味すると思います。私は正しい?可能であればデータボリュームを使用します。 私はVOLUME命令を間違って理解しました。私はそれがイメージビルディング中にボリュームを作成すると思ったが、今はコンテナのみを実行している間にボリュームを作成することを理解している。 – user3309314
はい。実際には、パスをボリュームとしてマークし、そのパスにコンテンツを追加すると、ボリュームには、ボリュームをインポートすることによって他のコンテナからアクセスできます。それは私が言及したものです。簡単に言うと、ボリュームに宝石がインストールされたイメージを作成し、このイメージからコンテナ(cont1)を作成し、cont1からボリュームをエクスポートする新しいコンテナをスポーンすると、宝石にアクセスできます。あなたがこれのためのサンプルをしたい場合私に教えてください。 –