docker.service 起動エラーの詳細なトラブルシューティング

docker.service 起動エラーの詳細なトラブルシューティング

エラーを報告するには次のコマンドを実行します

systemctl dockerを再起動します

エラーメッセージを表示する

システムctlステータスdocker -l

エラーメッセージは次のとおりです。

● docker.service - Docker アプリケーション コンテナ エンジン
  ロード済み: ロード済み (/usr/lib/systemd/system/docker.service; 無効; ベンダープリセット: 無効)
 ドロップイン: /etc/systemd/system/docker.service.d
      └─kolla.conf
  アクティブ: 失敗 (結果: 終了コード) 2018-08-01 水曜日 16:32:27 CST から; 52 分前
   ドキュメント: https://docs.docker.com
 プロセス: 3833722 ExecStart=/usr/bin/docker daemon --insecure-registry 172.16.59.153 (コード=終了、ステータス=1/FAILURE)
 メイン PID: 3833722 (コード = 終了、ステータス = 1/失敗)
  メモリ: 8.0K
  Cグループ: /system.slice/docker.service

8月1日 16:32:26 czwei004 systemd[1]: Dockerアプリケーションコンテナエンジンを起動しています...
8月1日 16:32:26 czwei004 docker[3833722]: time="2018-08-01T16:32:26.527063936+08:00" level=info msg="libcontainerd: 新しい containerd プロセス、pid: 3833733"
8月1日 16:32:27 czwei004 docker[3833722]: time="2018-08-01T16:32:27.532317497+08:00" level=warning msg="devmapper: 実稼働環境では、ループバック デバイスの使用は強く推奨されません。`--storage-opt dm.thinpooldev` を使用するか、`man docker` を使用して dm.thinpooldev セクションを参照してください。"
8月1日 16:32:27 czwei004 docker[3833722]: time="2018-08-01T16:32:27.560010414+08:00" level=warning msg="devmapper: ベースデバイスは既に存在し、ファイルシステムxfsが設定されています。ユーザーが指定したファイルシステムは無視されます。"
8 月 1 日 16:32:27 czwei004 docker[3833722]: time="2018-08-01T16:32:27.577758251+08:00" level=fatal msg="デーモンの起動エラー: グラフドライバーの初期化エラー: \"/var/lib/docker\" には有効なグラフドライバーが複数含まれています: devicemapper、overlay2。クリーンアップするか、ストレージドライバーを明示的に選択してください (-s <DRIVER>)"
8月1日 16:32:27 czwei004 systemd[1]: docker.service: メインプロセスが終了しました、コード=終了、ステータス=1/FAILURE
8月1日 16:32:27 czwei004 systemd[1]: Dockerアプリケーションコンテナエンジンの起動に失敗しました。
8月1日 16:32:27 czwei004 systemd[1]: ユニットdocker.serviceが失敗状態になりました。
8月1日 16:32:27 czwei004 systemd[1]: docker.serviceが失敗しました。

上記のエラーメッセージでは

msg="デーモンの起動エラー: グラフドライバーの初期化エラー: \"/var/lib/docker\" には有効なグラフドライバーが複数含まれています: devicemapper、overlay2。クリーンアップするか、ストレージドライバーを明示的に選択してください (-s <DRIVER>)"

dockerディレクトリに移動して確認すると、devicemapperとoverlay2のディレクトリがあります。

理由は、以前docker-engineの上位バージョンをインストールしたのですが、デフォルトのストレージドライバーがoverlay2だったためです。アンインストールするとdockerディレクトリにoverlay2フォルダが残っていました。その後、dockerの下位バージョンをインストールしたところ、デフォルトがdevicemapperだったので、ストレージドライバーが複数存在していました。

マシンを再起動した後、overlay2 ディレクトリを削除すると起動できるようになります。

追加情報: CentOS7 は Docker イメージのデフォルトの保存場所を変更します

Dockerサービスを停止する

# systemctl ドッカーを停止する

dockerサービスの起動ファイルを変更する

# vim /etc/sysconfig/docker

オプション = '--selinux-enabled --log-driver=journald --graph=/docker --signature-verification=false --insecure-registry 192.168.1.1'
#--insecure-registry 192.168.1.1 これは倉庫のアドレスであり、無視できます。 # /docker ディレクトリは、デフォルトの /var/lib/docker を置き換えるために使用します。ディレクトリが作成されたら、すべての元のファイルを移動するために「mv /var/lib/docker/* /docker/」を忘れないでください。

最初のディレクトリ内のすべてのファイルとディレクトリを新しいディレクトリにコピーします。

設定を再読み込みして開始します

# systemctlデーモンリロード

# systemctl dockerを起動します

Docker情報を確認する

# docker情報

上記のdocker.service起動エラーの詳細なトラブルシューティングは、エディターがあなたと共有するすべての内容です。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerサービスコマンドの詳しい説明(まとめ)
  • docker.service の起動に失敗しました: ユニットが見つからない原因と解決策
  • Dockerにおけるオーバーレイネットワークの詳細な説明
  • Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作
  • docker を使用して Kong クラスター操作を構築する
  • Dockerの国内イメージソースを変更する方法

<<:  ドラッグフォトウォールを実現するネイティブJS

>>:  MySQL操作テーブルでよく使われるSQLのまとめ

推薦する

JavaScript の new 演算子の原理と例の詳細な説明

新しい用途new の機能は、コンストラクターを通じてインスタンス オブジェクトを作成することです。イ...

制限を使用すると、MySQL のページングがどんどん遅くなるのはなぜですか?

目次1. テスト実験2. 制限ページング問題に対するパフォーマンス最適化手法2.1 テーブルをカバー...

Vueはルールを使用してフォームフィールドの検証を実装します

Vue でフォーム フィールドを記述および検証する方法は多数あります。このブログでは、より一般的に使...

Manjaro インストール CUDA 実装チュートリアル分析

昨年末、Thinkpad T450 のデュアルシステムの opensuse を Manjaro に置...

Linux で文字化けしたファイルや特殊文字のファイルを削除する方法

エンコーディングの理由により、Linux サーバーに中国語のファイルやディレクトリをアップロードまた...

Vueログイン機能の実装

目次前面に書かれたログインの概要ログインビジネスプロセスログインサービスの関連技術ポイントログイント...

ウェブデザインにおけるグリッドシステム

グリッドシステムの形成1692年、新しく即位したフランス国王ルイ14世は、フランスの印刷技術のレベル...

両側にCSS固定レイアウト、中央に適応レイアウトを実装

フローティング、フローティング埋め込み div、配置、フレックスという 4 つの一般的な方法と原則を...

一般的な Linux ツール vi/vim の完全版

なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...

div+css3 を使用して背景グラデーション ボタンを実装するためのサンプル コード

フロントエンド ページの需要が増加し続けるにつれて、一部のシーンではグラデーションの背景要素が必要に...

JavaScript で charAt() を使用して、最も頻繁に出現する文字とその出現回数をカウントする方法を教えます。

前回は、JavaScript の charAt() メソッドの使い方を紹介しました。今日は、最も多く...

VMware に Centos7 をインストールした後に外部ネットワークに ping できない問題を解決する

クラスターを構成する際に問題が発生しました。当初は 3 台の仮想マシンすべてが外部ネットワークに p...

HTML テーブル マークアップ チュートリアル (18): テーブル ヘッダー

<br />ヘッダーはテーブルの最初の行を参照します。ヘッダー内のテキストは中央揃えで太...

スネークゲームのウェブ版を実装するためのJavaScript

この記事では、ウェブページのスネークゲームを実装するためのJavaScriptの具体的なコードを参考...

Linux で MySQL スケジュールタスクを実装する方法

前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...