2016-10-06 5 views
0

私はここに見つけることができるCoreOSによってetcdドッカー画像を実行しているドッカーコンテナを持っています:https://quay.io/repository/coreos/etcd。私がしたいのは、etcdのデータディレクトリに保存されているすべてのファイルをローカルにコピーすることです。私はdocker exec -it etcd /bin/shを使用してコンテナに接続しようとしましたが、そこにシェル(/bin/bash/bin/sh)がないか、少なくとも$PATH変数に見つかりませんでした。私はイメージに乗るか、ローカルにコピーされたetcdの中のすべてのデータファイルを入手するにはどうすればいいですか?シェルがない場合、公式のetcdイメージを実行しているドッカーコンテナからファイルを取得するにはどうすればよいですか?

答えて

1

あなたは簡単に画像の内容をエクスポートすることができます。

docker export <CONTAINER ID> > /some_file.tar

のすべてのデータがコンテナの外部に格納されているように、理想的には、ボリュームを使用する必要があります。その後、他のファイルと同様にこれらのファイルにアクセスできます。

docker cp <id>:/container/source /host/destination 

あなたがソース内のコンテナのIDまたは名前を指定し、コンテナに自分のホストからコピーするためのラウンドのコマンドを反転させることができます:

0

ドッカーは、コンテナとホスト間でファイルをコピーするためのcpコマンドを持っています:

docker cp /host/source <id>:/container/destination 
関連する問題