Dockerがsudo操作を使用する必要がある問題を解決する

Dockerがsudo操作を使用する必要がある問題を解決する

手順は以下のとおりです

1. dockerグループを作成する: sudo groupadd docker

2. 現在のユーザーをdockerグループに追加します: sudo gpasswd -a ${USER} docker

3. サービスを再起動します: sudo service docker restart

4. docker メンバーを更新: newgrp - docker

[注]: これは他の Linux システムではなく、Ubuntu でテストされています。

補足: Linux での Docker のインストールと、sudo コマンドなしで Docker を実行するための設定

インストール

次のコマンドを実行します

wget -qO- https://get.docker.com/ | sh

sudoコマンドなしでdockerを実行する

なぜ docker ユーザー グループを作成する必要があるのでしょうか?

Docker デーモンは TCP ポートではなく UNIX ソケットにバインドします。このソケットのデフォルトの所有者は root であり、他のユーザーは sudo コマンドを使用してこのソケット ファイルにアクセスできます。このため、Docker サービス プロセスはルート アカウントとして実行されます。

docker コマンドを実行するたびに sudo を入力しなくても済むようにするには、docker ユーザー グループを作成し、対応するユーザーをこのグループに追加します。 docker プロセスが開始すると、ソケットは docker グループのユーザーが読み取りおよび書き込みできるように設定されます。このようにして、docker グループ内のどのユーザーも docker コマンドを直接実行できるようになります。

警告: この dockergroup は root アカウントと同等です。詳細については、こちらの記事を参照してください: Docker Daemon AttackSurface 。

1 sudo 権限を持つアカウントを使用してシステムにログインします。

2 docker グループを作成し、対応するユーザーをこのグループに追加します。

sudo usermod -aG docker あなたのユーザー名

3 権限を有効にするには、ログアウトしてから再度ログインします。

4 docker コマンドを直接実行できることを確認します。

$ docker run hello-world

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • dockerコマンドの使用にはsudoは必要ありません
  • sudo なしで Docker コマンドを実行する方法
  • sudoなしでdockerコマンドを使用する方法

<<:  ディスク容量不足による MySQL レプリケーション障害の解決方法

>>:  ミニプログラムカスタムタブバーコンポーネントのカプセル化

推薦する

Ubuntu ブート自動起動サービス設定

Ubuntu でサービスを作成し、自動的に起動する方法: 1. [/lib/systemd/syst...

httpsウェブサイトにリファラーhttpsとhttpジャンプリファラーを送信させる方法

この記事では、HTTP プロトコルのリファラーのメタデータ パラメータの提案について説明します。この...

HTML チュートリアル: 順序なしリスト

<br />原文: http://andymao.com/andy/post/102.h...

ウェブサイトはいつ広告を掲載すべきでしょうか?

最近、インターネットのベテランと「広告」について議論したのですが、彼から非常に興味深い意見を聞きまし...

vue+element で動的スキニングを実装するためのサンプルコード

プロジェクトのテーマがすべての人の美的感覚を満足できないこともあります。このとき、スキン変更機能は非...

背景画像の配置におけるbackground-position属性の自己理解

最近、プロジェクトではラベルやボタンなどの断片的な画像をたくさん使用する必要があります。また、CSS...

Chrome タブバーを実装するための CSS のヒント

今回は、Google Chrome のタブバーのような、特殊な丸い角を持つナビゲーション バーのレイ...

Linuxディレクトリ構造の詳細な紹介

Linuxを学び始めるときは、まずLinuxの標準ディレクトリ構造を理解する必要があります。 / r...

Vue のスロットリング関数使用時の落とし穴ガイド

序文一般的なビジネス シナリオでは、検索ボックスへの入力が完了した後、検索データを取得するために関連...

MySQLで数千万のテストデータを素早く作成する方法

述べる:この記事で扱うデータ量は 100 万です。数千万のデータが必要な場合は、量を増やすだけで済み...

MySQL マスタースレーブレプリケーションの原理と実践の詳細な説明

目次導入効果原理形状練習するこの記事では、例を使用して、MySQL マスター/スレーブ レプリケーシ...

MySQL 完全崩壊: クエリフィルタ条件の詳細な説明

概要実際のビジネス シナリオ アプリケーションでは、ビジネス条件に基づいて対象データを取得およびフィ...

Linux resolv.conf の簡単な分析

1. はじめにresolv.conf は、さまざまなオペレーティング システムのドメイン ネーム シ...

Mysql データベースの日付と日時型でデフォルト値 0000-00-00 を設定するときに発生するエラー問題の詳細な説明

現象: MySQL バージョン 5.7 以降では、日付型と日付時刻型のデフォルト値が「0000-00...

Ubuntu システムログで /var/log/messages を設定する方法

1. 問題の説明今日、システム ログ ファイルを確認する必要がありますが、/var/log/mess...