webdevqa.jp.net

Dockerのデータディレクトリを変更する

Dockerがコンテナを保存する(またはlxcがコンテナを保存する)Dockerのデータディレクトリを変更するにはどうすればよいですか?サーバーにssdとハードドライブantがあり、コンテナーをハードドライブに保存する必要があります。ありがとう

9
ssd_rider

このガイド で良い説明が得られると思います。

Dockerデーモンを起動するときに-gオプションを使用して、Dockerのストレージベースディレクトリ(コンテナとイメージが移動する場所)を変更できます。

Ubuntu/Debian:/etc/default/dockerオプションを使用して-gファイルを編集します:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"

Fedora/Centos:/etc/sysconfig/dockerを編集し、other_args変数に-gオプションを追加します。 other_args="-g /var/lib/testdir"。複数のオプションがある場合は、それらを「」で囲むようにしてください。再起動後、(サービスdocker restart)Dockerは新しいディレクトリを使用する必要があります。

シンボリックリンクを使用することは、画像ストレージを変更する別の方法です。

注意-これらの手順は、現在の/ var/lib/dockerが実際のディレクトリ(別の場所へのシンボリックリンクではない)であることに依存しています。

1)ドッカーを停止します:service docker stop。 Dockerプロセスがps fauxを実行していないことを確認します

2)ダブルチェックドッカーが実際に実行されていません。現在のdockerディレクトリを見てください:ls /var/lib/docker/

2b)バックアップを作成する-tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz

3)/var/lib/dockerディレクトリを新しいパーティションに移動します:mv /var/lib/docker /mnt/pd0/docker

4)シンボリックリンクを作成します:ln -s /mnt/pd0/docker /var/lib/docker

5)ディレクトリ構造を覗いて、mv:ls /var/lib/docker/(末尾のスラッシュに注意してください。

6)ドッカーのバックアップを開始service docker start

7)コンテナを再起動してシンボリックリンクを解決します)

11
Conrado Fonseca

Ubuntuの最新のDockerバージョンでは、/ etc/default/daemon.jsonを次のように編集します。

{
    "data-root": "/new/location"
}
9
MattK

@MattKの答えを拡張するには:

Dockerデーモンの制御に関するDockerドキュメント は、プラットフォームに依存しないこれを行う方法を示しています。

/etc/docker/daemon.jsonファイルを編集して次の行を含めます

{
    "data-root": "/mnt/docker-data",
    (...)
}

ここで、/mnt/docker-dataは、Dockerイメージとコンテナーを配置するディレクトリです。

それから

Sudo systemctl restart docker

実行することで動作したかどうかを確認できます

docker info

Docker Root Dir:で始まる行の内容を探します。

https://stackoverflow.com/a/50217666/220931 および https://unix.stackexchange.com/q/452368/3604 も参照してください。

1
Wandering Logic

datadockerディレクトリを変更するには、オプション-g /my/dataを指定して実行する必要があります。私の/etc/default/dockerで設定したもの:

DOCKER_OPTS="-g /srv/docker"

私のメモ も参照してください。

datalxcディレクトリーを変更するには、/etc/lxc/lxc.confに入れます:

lxc.lxcpath = /srv/lxc

1
Stuart Cardall

Docker 1.13.0にアップグレードします。

リリースノートから:

- New
The storage location of the Linux volume can now be moved
1
Snowcrash