少し問題があります。私は真新しいRed Hat Linux Serverを持っており、Docker CEの公式リポジトリでCentOS/Red Hat用のDocker CEをインストールしました。これで、dockerが/var/lib/docker
の下にコンテナーを作成することがわかりましたが、私の問題は、/data/docker
の下のデータに追加のパーティションを使用することです。 CentOS/Red HatでDockerのデフォルトのルートディレクトリを変更するにはどうすればよいですか?
HOWTOをいくつか試しましたが、同じ問題が発生します。構成が見つかりません。たとえば、次のファイルを検索します。
/etc/default/docker
(Debian/Ubuntuのみだと思います)/etc/systemd/system/docker.service.d/override.conf
(システムで見つかりません)/etc/docker/daemon.json
(システムで見つかりません)私が見るドッカー情報を取得した場合:
Dockerルートディレクトリ:/var/lib/docker
実行中のすべてのDockerコンテナーを停止してから、Dockerデーモンを停止します。 「/ var/lib/docker」ディレクトリを、このデータを置きたい場所に移動します。あなたにとっては:
mv /var/lib/docker /data/
次に、このDockerディレクトリのシンボリックリンクを/ var/libパスに作成します。
ln -s /data/docker /var/lib/docker
Dockerデーモンとコンテナーを起動します。
Dockerデーモンの制御に関するDockerドキュメント は、これを行うためのプラットフォームに依存しない方法は次のとおりであることを示唆しています。
/etc/docker/daemon.jsonファイルを編集して次の行を含めます
{
"data-root": "/mnt/docker-data",
(...)
}
ここで、/mnt/docker-data
は、Dockerイメージとコンテナーを保存するディレクトリです。
その後
Sudo systemctl restart docker
あなたはそれが動作したかどうかを確認することができます
docker info
Docker Root Dir:
で始まる行の内容を探します。
私はFedora 27を使用していますが、docker deamonのヘルプを見ることができます
dockerd --help
--data-root string Root directory of persistent Docker state (default "/var/lib/docker")
dockerサービスを停止する
systemctl stop docker
docker default folderを移動します。/dataフォルダーの下に移動しました。
mv /var/lib/docker /data/.
サービスファイルを開く
vi /usr/lib/systemd/system/docker.service
execStart変数のパラメーターを変更します。
vi /usr/lib/systemd/system/docker.service
この鉱山。また、デバッグパラメータを追加しました。
ExecStart=/usr/bin/dockerd -D --data-root /data/docker
デーモンのリロードが必要
systemctl daemon-reload
あなたはサービスを始めることができます
systemctl start docker
サービス開始前にコマンドラインでテストできるかどうか
dockerd -D --data-root /data/docker
されております。