2017-11-23 8 views
0

ドッカーにgitlabコンテナがありました。 今日私はKitematicをインストールして実験を始めました。私はgitlabコンテナを選択しました - >設定 - >ネットワーク - > 'ホストネットワークに接続'を押して、そのgitlabが死んだ後。この設定を変更した後は、このコンテナのすべての設定が削除されていることがわかりました。私はコンテナが再現されたと思う。私は正しい?ドッカーボリュームリストア

未使用のボリュームがいくつか見つかりました。これらのボリュームの中には、実験やコンテナの再作成後に失われたデータが含まれていることを期待しています。

既存のコンテナのボリュームを変更するにはどうすればよいのですか?gitlabイメージの以前のインスタンスで未使用のボリュームが使用されていたボリュームを特定する方法はありますか? '/ etc/gitlab'、 '/ var/log/gitlab'、 '/ var/opt/gitlab'などの対応するドッカーフォルダにマップする方法は?多分私はそれらをブラウズすることができ、それは私がファイル構造のすべての基礎を理解するのに役立つでしょうか?

すべてのボリュームは仮想マシン内にあり、ホストOSドライブへのマッピングはありません。

答えて

1

gitlab]ドッキングウィンドウのファイルには、以下の3つのボリュームを宣言しました。あなたは、各ボリュームを検査し、それをどのファイルを参照することができ、実際に含まれています

docker volume ls 
docker volume inspect <volume-name> 

はボリュームマップコンテナ内のディレクトリにホストanalizeにMountpointを探します。あなたはマップのようなコンテナを再作成するためにどのディレクトリ、どのボリュームを把握したらあなたは

docker exec -it <container-name> ls /var/opt/gitlab 

で新鮮なコンテナであることを比較することができます:私はこの記事を使用しているこのanswereにaddtitionで

docker run <existing-volume1-name>:/etc/gitlab <existing-volume2-name>:/var/opt/gitlab ... 
+0

をドッカーファイルシステムのボリュームフォルダをブラウズ:http://blog.jongallant.com/2017/11/ssh-into-docker-vm-windows/ –

1

再作成されているようです。 startの代わりにrunを実行した場合、これは動作ですが、わかりません。

ボリューム(一例):あなたのデータが古いボリューム(ローカルVMパス)である必要があり

docker run -v your-vm-path:/var/opt/gitlab gitlab:latest

。そうでない場合、あなたはそれらのボリュームを使用していませんでした。

データがローカルのVMパス(vols)にある場合は、docker cp --helpを参照して、コンテナにデータを入れたり、コンテナからデータを取得したりしてください。

ドッカーの場合、ホストは仮想マシンです。初めて起動したとき、あなたがそれらに名前を付けていなかった場合は、ドッキングウィンドウは自動的にいくつかのランダムな名前のボリュームを作成します。このように

# Define data volumes 
VOLUME ["/etc/gitlab", "/var/opt/gitlab", "/var/log/gitlab"]