ドッカーのドキュメントによれば、ボリュームは次のように作成できますか?ドッカーボリュームを作成するときのソースの指定方法
docker volume create myvol
ソースディレクトリを指定する方法はありますか。
ドッカーのドキュメントによれば、ボリュームは次のように作成できますか?ドッカーボリュームを作成するときのソースの指定方法
docker volume create myvol
ソースディレクトリを指定する方法はありますか。
Dockerボリュームには、バインドマウントと管理の2種類があります。バインドマウントは実行時に行われ、ソースディレクトリについて話しているときには、それを考えています。
docker run -v mydir:/app someimage
これは、実行中のコンテナに/app
にホストマシン上のmydir
ディレクトリをマウントします:それはこのようになります。
管理対象ボリュームにはソースディレクトリがありません。コンテナ領域にのみ存在します。これは通常、コンテナ実行間のデータを保持するために使用されます。これは、コンテナが一時的であるためです。
一般的な使用例は、パッケージをnpm install
、pip install
または他のパッケージマネージャから開発用に保存する場合です。コンテナを実行するたびに100個のパッケージを再ダウンロードしたくないかもしれません。代わりに、私は実行の間にそれらを永続化するために、ボリュームを使用することができます。
docker run -v myvol:/app/node_modules someimage
私はこのコンテナを起動して、このようなmyvol
をマウントする次の時間は、ボリュームmyvolが既に/app/node_modules
の最後の時からインストールされたパッケージのすべてを持っているので、 npmは更新を迅速にスキャンして移動します。
また、Dockerizedデータベースを実行する役割の管理対象ボリュームを検討してください。これをチェックしてください、それは非常に良い答えがあります:How to deal with persistent storage (e.g. databases) in docker
ドッカーswarmで動作しますか?私は試しましたが動作しません – Luke101
私は知らない、私はドッカースウォームを使用していない。 KubernetesとAWS ECSの両方がボリュームをサポートしているので、Swarmも同様に考える必要があります。 – bluescores