問題タブ [docker-volume]
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.
docker - Dockerfile、VOLUME でデータを永続化
ドッカーの使い方を学ぶので、ご容赦ください。私は使用していますv1.11.1
Dockerfile を作成しており、コンテナーのフォルダーを永続化する必要があることを指定したいと考えています。これは、ユーザー (コンテナーを実行しているコンピューター) ごとにのみ永続化する必要があります。私は当初、以下を含むと考えていました:
で十分ですが、コンテナを起動しdocker run -t -i myimage:latest bash
て手動でファイルを追加するとexit
、ファイルを再び見つけることができると期待しています。しかし、(上記のように)イメージを再度実行すると、追加されたファイルはもう存在しません。
私は読んだことがありますが、回答はVOLUMESの使用に関して時代遅れのように見えるか、または私がやりたくないことを示唆しています。
-v
実行コマンドで使用したくない- ボリューム コンテナーを作成したくありません (私の 1 つの小さなフォルダーにはやり過ぎのようです)。
私が間違っているのは何ですか?どんな助けでも大歓迎です。
乾杯。
更新:名前付きボリュームを使用してデータを永続化できます。つまり:docker run -v name:/path/to/persist -t -i myimage:latest bash
ただし、Dockerfile を含むビルドはVOLUME name:/path/to/persist
機能しません。
docker - docker コンテナーの変更後の WSO2 損失 API
WSO2 API Manager 2.0.0 を使用して別の問題が発生しました: 3 つのコンテナー (APIM 用、Analytics 用、MySQL 用) を使用して docker にインストールし、一部の構成ファイルをカスタム バージョン (DB、サーバー名、ゲートウェイの設定...)。APIM と Analytics の両方が MySQL コンテナーにデータを保存するように構成されており、DB の変更を確認できます。
問題は、コンテナーが再構築された後、パブリッシャーにもストアにも自分の API が見つからないことです。DB の変更は持続し、すべての API の統計を表示でき、同じ名前またはコンテキストを使用して新しい API を作成しようとするとエラーが発生しますが、新しいビルドの後、ストアは常に空です。
/repository/deployment/server/synapse-config/default
また、 と の両方を2 つのボリュームに入れようとしましたが、API 用に/repository/tenants/
作成されたファイルを確認できますが、問題がわかりません。/.../default/api/
ガイドに記載されていない追加のディレクトリを永続化する必要がありますか?
可能であれば、APIM と Analytics のホーム全体をボリュームに入れたくありません。
docker - Docker構成:ローカルファイルをリモートデーモンにマウントできますか?
使用シーンはこんな感じ。
docker-machineですでにプロビジョニングされた AWS EC2 インスタンスがあります。
docker-composeを使用して、その EC2 インスタンスでいくつかのコンテナーをリモートで開始したいと考えています。
構成ファイルには、次のようなセクションがあります。
docker-compose up -d
「/home/ubuntu/nginx.tmpl」ファイルがローカルマシンに存在するため、ローカルで使用すると機能します。
しかし、docker-composeを使用して AWS でリモート デーモンを制御しようとすると、次のようになります。
" /home/ubuntu/nginx.tmpl " ファイルがリモート マシンに存在しないため、失敗します。
リモート マシンの同じディレクトリの下にこのようなファイルを作成してみました。
ローカル ファイルをリモート docker デーモンにマウントするより良い方法は何ですか?
docker - イメージからボリュームを削除する
docker-compose
いくつかのコンテナーを作成してvolumes
そのコンテナーをコミットするとvolumes
、docker-compose ファイル内の もコミットされます。イメージ内のボリュームをコミットしない方法はありますか?
以下のコマンドでは、ボリュームを追加することはできますが、削除することはできません:
ありがとうございました。