問題タブ [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 - docker ボリュームからホストにデータをコピーする方法は?
docker ボリューム "hello" を作成しました。これにはいくつかのデータが含まれています。
データをホストにコピーするにはどうすればよいですか?
初め :
チェック中 :
ボリューム「こんにちは」検査
ボリューム「hello」のデータをホストにコピーするにはどうすればよいですか?
私は試した :
期待通りに動かない!
誰が私を助けることができます ?
macos - OSX の Docker ボリューム マウント ポイントとしてディレクトリを手動で共有する
docker websiteのこのチュートリアルによると、コンテナを起動すると、/Users/username
.
私の現在の問題:
しかし、私の学校では、私$HOME
は .com にありません。また、(リンクのチュートリアルの/Users
ように) コンテナーにボリュームを直接マウントしようとすると、マウントdocker run -d -P -v $HOME/site:/usr/share/nginx/html --name mysite nginx
されたボリュームを介してファイルを変更できません。だから私$HOME
は自動的に共有されていないと思います。
しかし、実行すると次のdocker instpect mysite
ようになります:
と
私の質問は単にこれです:
ディレクトリを VM ホスティング Docker (ここでは virtualbox) と手動で共有して、ボリュームのマウント ポイントとして使用するにはどうすればよいですか?
これは、非推奨になる前に Boot2docker で行った方法です。
boot2dockerを使用すると、次のようなものを実行できます。
そして、それはうまくいきました。
しかし、現在boot2dockerは廃止されており、現在使用しなければならない VM でこれを行う方法が見つかりませんでした (virtualbox を使用しています)。
私がよく理解していれば、boot2docker と同じように動作するはずです:
今でも機能しないのはポイント[1]だけであることをまだよく理解している場合、これは boot2docker と共有したばかりの小さなスクリプトの中間部分によって処理されました。
しかし、どうすれば今できるでしょうか?
docker - 以前に作成したボリュームにリンクされた Docker コンテナーを実行する方法
内容が含まれる名前付きボリュームがあります。パスを提供するので、このボリュームを提供したいと思います: docker run -v /host:/path.in.docker.container
- これはパスに対して機能します。手動で作成して埋めたボリュームで同じことをしたいと思います。
--volumes-from については知っていますが、最初にボリュームを空のコンテナーに接続するにはどうすればよいですか。
docker-compose - Docker-compose 名前付きマウント ボリューム
docker-compose で使用されるボリュームを追跡するために、名前付きボリュームを使用したいと考えています。これは、次のような「通常の」ボリュームに最適です
しかし、ローカルホストをマウントするときにそれを機能させる方法がわかりません。私は次のようなものを探しています:
また
これは何らかの方法で可能ですか、それともマウントされたボリュームの匿名ボリュームにこだわっていますか?
docker - 「docker create volume」コマンドのデフォルトの場所を変更するには?
ボリューム API を使用してボリュームを作成する場合、つまり、コンテナー ボリューム パターンが必ずしもベスト プラクティスではなくなったためです。
たとえば、docker ボリュームが /data (別の物理ボリュームにマウントされている) に存在するようにしたいと考えています。
これはシンボリック リンクでは実行できません。バインド マウントでは実行できますが、個別のボリュームごとにデフォルトの場所を変更するための構成が Docker にあるのではないかと思います。
docker - COPY 後の Docker ボリュームの永続性
次のような埋め込みダービー永続性を使用するドッカー イメージがあります。
フォルダー BatchDB には、イメージのビルド時にもコピーされるいくつかのランタイム ファイルがあります。
Docker ボリュームを使用してディレクトリを永続化したいのですが/opt/ibm/wlp/usr/shared/resources/BatchDB
、コンテナを実行するときに、docker volume create --name dataVolume
.
ビルド時にファイルを保存したまま、ボリュームをマウントする方法はありますか?
docker - 既存のデータを含む Docker ボリュームを作成する
コンテナーを起動する MySQL イメージがあります。dbs をセットアップし、sql-dump ファイルをインポートして、コンテナーが作成されるたびにユーザーを作成します。
コンテナーで作業するとき、MySQL に格納されるさまざまなデータを作成します。
これらの余分なデータをデータ ボリューム コンテナー [DVC] に保存して、DVC を同僚に渡して、停止したところから続行できるようにしたいと考えています。
問題は、彼が MySQL コンテナーも起動し、最初の手順を最初から繰り返すことです。
私が読んだように、[ --volumes-from
] ボリューム [/etc/mysql
および/var/lib/mysql
] を DVC からマウントすると、既存のデータがカバーされ、読み取れなくなります。
すでにデータが入っているディレクトリを持つボリュームを使用することはできますか?
docker - ホスト上の docker ボリュームを chown (おそらく docker-compose 経由)
次の例があります
これは正常に動作します。実行するdocker-compose up
と、それらの名前付きボリュームが作成され/var/lib/docker/volumes
、すべて問題ありません。ただし、ホストからは/var/lib/docker
ルートとしてしかアクセスできません。これroot:root
は (理にかなっています)。ホストのディレクトリをより賢明で安全なものにする方法があるかどうか(ホストでほとんどのことを行うために使用する比較的特権のないユーザーなど)、またはそれを手動でchown
吸う必要があるかどうか疑問に思っていました。chown
他の問題を回避するためのスクリプトをすでにいくつか作成し始めているので、数行余分に追加しても大きな問題にはなりませんが、自分で作成した自動化を最小限に抑えたいと考えています。できます-愚かな間違いの可能性が少なくなります。
ちなみに、いいえ: ボリュームを作成する代わりにホスト ディレクトリをマウントすると、それらはオーバーレイされます。
追加点: ボリュームをより便利な場所に移動することはできますか? と言う/home/myuser/myserverstuff/volumes
?
windows - Docker ボリュームが Windows ホストから Ubuntu コンテナーにマウントされない
私は素敵な Windows で Facebook の HHVM をいじろうとしていますが、まだサポートされていないので、Docker を試しています。
ものすごく単純。パスの同じディレクトリにこれら2つのファイルしかありません/c/apache/htdocs/hello-hhvm
Dockerfile
こんにちは.php
次に、イメージをビルドします。
docker build -t hhvm .
そして、コンテナを実行してボリュームをマウントしようとし/app
ます:
docker run --rm -it -v /c/apache/htdocs/hello-hhvm:/app hhvm bash
/app
すでにディレクトリBUUUUTにあるコンテナーでbashセッションを正常に開始しましたが、そこにはDockerfileもありませhello.php
ん。
私が間違っていることは何ですか?
ありがとう。