Linux での「Docker デーモンに接続できません」エラーの解決
Linux ターミナルで「Docker デーモンに接続できません」というエラーが表示された場合は、非常に混乱するかもしれません。これが表示されたときには Docker デーモンがすでに実行されている可能性が高いためです。確実にそうなるようにする必要がありますが、このエラーがサービスが開始されていないことと関係がないことがわかると、おそらく困惑するでしょう。これは主に、Docker グループに自分自身を追加していないユーザーにスローされます。
Docker は Linux システム上に別のユーザー グループを発行し、そこに追加されていないユーザー アカウントを持つユーザーは接続できません。デーモンは常に root ユーザーとして実行されるため、Docker グループにユーザー アカウントを追加することは機能的に root と同等であることに注意してください。これは、シングルユーザーの Ubuntu サーバー システムでは予想されることかもしれませんが、Arch、Fedora、または Debian で Docker を実行しているユーザーにとっては、確かに留意すべき事項です。
方法 1:Docker サービスのステータスを確認する
ほぼ確実にそうなっていますが、Docker サービスが現在実行されているかどうかを確認する必要があります。ターミナル ウィンドウで、systemctl status docker.service を実行します。 通常のユーザーとして。 Docker のデーモンにどの PID 番号が割り当てられたかに関する情報を取得する必要があります。そうでない場合は、サービスを再起動する必要があります。
再起動した場合は、「Docker デーモンに接続できません」エラーが発生した原因をすべて試してください。動作するようになった場合は、サービスが実行されていないだけであり、実行されなかった理由以外のことを心配する必要はありません。残念ながら、これはほとんどの場合機能しないため、そのような状況では次に進む必要があります。
方法 2:Docker グループにユーザーを追加する
ドッカー情報を実行します。 コマンドラインから実行すると、通常は「Docker デーモンに接続できません」というエラーが再び表示されます。
この場合は、sudo groupadd docker を実行する必要があります。 sudo usermod -aG docker $USER 適切なグループに自分を追加します。 usermod がないためにエラーが発生した場合は、 コマンドを変更してsudo groupadd docker; として実行できます。 sudo gpasswd -a $USER ドッカー ただし、ほとんどの商用グレードの Linux ディストリビューションは同じツール セットで動作するため、通常はこれが問題になることはありません。いずれの場合も、newgrp docker を実行します。 これにより、まだログインしていない場合は、新しい Docker グループにログインできるようになります。
これにより、現在ログインしているユーザーが常に追加されることに注意してください。これは、1 人のユーザーと root アカウント以外に複数のアカウントを持たないほとんどの人のシステムではそれほど問題にはなりません。当面は管理アクセス権が入力されているので、 sudo chgrp docker /usr/bin docker; を実行します。 sudo chgrp docker /var/run/docker.sock docker ソケットとコマンドの権限を修正します。通常、ソケット ファイルは root ユーザーのみに属しているため、これで修正されます。
実行後は、前のコマンドで作成したのと同じグループに属しているため、問題はありません。ただし、sudo を使用せずに docker が実行されることをテストする必要があるため、「docker run hello-world」と入力します。 通常のユーザーとして、他のエラーが発生していないことを確認してください。
この時点では、何らかのエラー メッセージを受け取るユーザーはまだほとんどいません。ほとんどのことはこの時点で修正されるはずですが、まだ問題がある場合は、完全にログアウトすることをお勧めします。別のターミナル エミュレータ ウィンドウを開いてみてください。ただし、これが機能しない場合は、可能であればシステムを停止して完全に再起動すると役立つ場合があります。
方法 3:ACL を使用して Docker メタデータを変更する
root ユーザーのように思われるグループに所属したくない場合は、特定の権限でのみ機能するようにソケット ファイルを設定できます。この方法で実行したい場合は、gpasswd プロセスを無視できます。ファイル システムをスキャンしてさまざまな ACL エントリを探す必要があるのは、セキュリティ監査を行う人にとっては負担ですが、Docker グループを完全に使用する必要はなくなります。
この方法で実行したい場合は、sudo setfacl -m user:name:rw /var/run/docker.sock を実行できます。 ユーザーと名前を適切なラベルに置き換えます。これにより、/var/run/docker.sock にある Docker ソケットにアクセスする権限が付与され、Debian および Ubuntu サーバーで動作するはずです。
著者について
ケビン・アロウズ
Kevin Arrows は、10 年以上の業界経験を持つ、経験と知識が豊富なテクノロジー スペシャリストです。彼は Microsoft Certified Technology Specialist (MCTS) 認定を取得しており、最新の技術開発について常に最新の情報を入手することに深い情熱を持っています。 Kevin は、ソフトウェア開発、サイバーセキュリティ、クラウド コンピューティングなどの分野での専門知識と専門知識を示し、テクノロジー関連の幅広いトピックについて幅広く執筆しています。テクノロジー分野への彼の貢献は同僚から広く認められ、尊敬されており、複雑な技術概念を明確かつ簡潔に説明する能力が高く評価されています。
-
ステップバイステップ ガイド:Linux への Nokia PC Suite のインストール
Nokia 携帯電話では、ファイルを同期したり、Bluetooth や USB 経由で画像を転送したりするために、特別なソフトウェアが必要になることがよくあります。さらに言えば、大容量記憶装置として表示するには特別なドライバーが必要になる場合もあります。 Nokia のカスタム システム ソフトウェアは複雑であるため、携帯電話を希望する Linux ディストリビューションに接続するには、いくつかの手順が必要になる場合があります。 Windows PC や Apple Macintosh に接続された Nokia 携帯電話を使用するには、これらと同じ手順が必要なため、これを Linux の欠陥
-
ステップバイステップ ガイド:Linux でドライブを exFAT にフォーマットする
Windows と Linux を実行しているコンピューター間でファイルを転送する場合、exFAT または NTFS ファイル システムでドライブをフォーマットすると、作業がスムーズになります。 Windows、OS X、Linux、そして現在 Sony Xperia Z などのいくつかのモバイル デバイスは exFAT を読み取ることができるため、exFAT のみを使用することをお勧めします。これは独自のファイル システムではありますが、フラッシュ メディアと外部ドライブ用に最適化されているため、Linux ユーザーの間で人気を集めています。 Linux では、ntfs-3 ドライバーを通