Docker.serviceの起動に失敗しました:Unit docker.serviceはマスクされています


エラーメッセージの意味を理解するために、まず「マスクされた」状態とは何かを知る必要があります。Linuxシステムでは、systemdと呼ばれるサービス管理ツールが使用されており、それぞれのサービスは「有効」「無効」「マスク」の3つの状態を持つことができます。有効なサービスは起動可能であり、無効なサービスは起動できません。一方、マスクされたサービスは、意図的に起動を妨げるために無効化されています。

上記のエラーメッセージが表示された場合、Dockerサービスがマスクされていることを意味します。以下は、このエラーの可能性のある原因と、それぞれの解決策です。

  1. Dockerがインストールされていない: まず、Dockerが正しくインストールされていることを確認してください。インストール手順はオペレーティングシステムによって異なる場合がありますので、公式のDockerドキュメントを参照してください。

  2. サービスが手動で無効化されている: サービスが手動で無効化された場合、起動に失敗します。次のコマンドを使用して、サービスの状態を確認し、必要に応じて有効化してください。

    sudo systemctl status docker.service
    sudo systemctl unmask docker.service
    sudo systemctl start docker.service
  3. システムの再起動が必要: インストールまたは設定の変更後にシステムを再起動していない場合、一部のサービスは正常に起動しないことがあります。システムを再起動してから、Dockerサービスを起動してみてください。

  4. 他のプロセスがポートを占有している: Dockerデーモンが使用する予定のポートが、他のプロセスによって既に占有されている場合、Dockerサービスは起動できません。ポートの競合を解決するために、他のプロセスが利用しているポートを特定し、必要に応じて変更してください。