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


8

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

回答:


11

私は中にいることを信じて、このガイドあなたは良い説明があるでしょう。

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

シンボリックリンクの使用は、画像のストレージを変更するもう1つの方法です。

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

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

2)Dockerのダブルチェックが実際に実行されていません。現在の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)docker back upを開始します service docker start

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


4)の理由は何ですか?必要ですか?私の場合、DockerファイルをブートパーティションではなくマウントされたRAIDに配置したいと考えています。
Roman Mik

9

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

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

2

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

DOCKER_OPTS="-g /srv/docker"

こちらのメモも参照してください。

私が入れたdataディレクトリを変更するlxcには/etc/lxc/lxc.conf

lxc.lxcpath = /srv/lxc


1

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

リリースノートから:

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

1

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

ドッカーデーモンを制御する上ドッカーのドキュメントは、これを実行するためのプラットフォームに依存しない方法があることを示唆しています:

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

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

どこ/mnt/docker-dataあなたがドッキングウィンドウの画像やコンテナが住みたいディレクトリです。

その後

sudo systemctl restart docker

あなたはそれが動作したかどうかを確認することができます

docker info

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

https://stackoverflow.com/a/50217666/2209313およびhttps://unix.stackexchange.com/q/452368/36043参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.