web-dev-qa-db-ja.com

Dockerコンテナのイメージを永続ディスクに移動するにはどうすればよいですか?

コンテナが多くのスペースを占めていることに気づきました。その理由の1つは画像です。

画像を移動したいと思います。

私は今それらが/var/lib/docker/graph/<id>/layer

これらを別の場所/永続ディスクに移動する方法はありますか?

21
dvaini

イメージを別のドライブまたは別のサーバーに移動するには。

docker save image_name> image_name.tar

mv image_name.tar/somewhere/else /

Dockerにロードし直します

docker load <image_name.tar

26
Ken A.

/ var/lib/dockerはいつでも別のディスクにマウントできます。それ以外の場合は、-g /pathでデーモンを起動して、Dockerにストレージに別のディレクトリを使用するように指示できます。

14
creack

Dockerのデータを移動する簡単な方法は次のとおりです。

Sudo service docker stop
Sudo mv /var/lib/docker /a/new/location
Sudo ln -s /a/new/location /var/lib/docker # Create a symbolic link
Sudo service docker start

DOCKER_OPTSを変更したり-g /pathを使用したりする必要はありません。

5
jcoffland

answer by @creack を使用して、Ubuntuのインストールで次のことを行い、docker images/containersフォルダー全体を新しい場所/ディスクに移動しました。これを行うことの素晴らしい点は、インストールする新しいイメージが新しいディスクの場所を使用することです。

まず、Dockerサービスを停止します。

Sudo service docker stop

次に、dockerフォルダーをデフォルトの場所からターゲットの場所に移動します。

Sudo mv /var/lib/docker /thenewlocation

次に、/etc/default/dockerファイルを編集し、Dockerサービスの引数として新しい場所を提供する次の行を挿入/修正します。

DOCKER_OPTS="-g /thenewlocation/docker"

Dockerサービスを再起動します。

Sudo service docker start

これは私にとって100%機能しました-私の画像はすべて無傷のままでした。

3
ctrlplusb