
少し問題があります。新しいRed Hat Linuxサーバーがあり、公式Docker CEリポジトリを使用してCentOS / Red Hat用Docker CEをインストールしました。これで、dockerがdockerの下にコンテナを作成していることがわかりますが、/var/lib/docker
私の問題は、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
答え1
これDockerデーモン制御に関するDockerドキュメント推奨されるプラットフォームに依存しないアプローチは次のとおりです。
この行を含むように/etc/docker/daemon.jsonファイルを編集します。
{
"data-root": "/mnt/docker-data",
(...)
}
/mnt/docker-data
Dockerイメージとコンテナを配置するディレクトリはどこにありますか?
それから
sudo systemctl restart docker
以下を実行して動作していることを確認できます。
docker info
で始まる行の内容を見つけますDocker Root Dir:
。
答え2
実行中のすべてのドッカーコンテナを停止し、ドッカーデーモンを停止します。このデータを保存したい場所に「/var/lib/docker」ディレクトリを移動します。あなたにとってこれは次のとおりです。
mv /var/lib/docker /data/
次に、/var/lib パスにこの docker ディレクトリへのシンボリックリンクを作成します。
ln -s /data/docker /var/lib/docker
dockerデーモンとコンテナを起動します。
答え3
私はfedora 27を使用しています。 docker deamon helpを見ることができます。
dockerd --help
--data-root string Root directory of persistent Docker state (default "/var/lib/docker")
ドッカーサービスの停止
systemctl stop docker
Dockerのデフォルトフォルダを移動します。 /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
もう終わりました。