Docker は現在、開発者がアプリケーションを簡単に構築、実行、保守できるようにする人気のコンテナ テクノロジです。ただし、Docker を使用する場合は、コンテナーの実行時の権限の問題に注意する必要があります。デフォルトでは、Docker は root ユーザーを使用してコンテナを実行するため、セキュリティ リスクが生じる可能性があります。したがって、Docker にユーザーを追加する方法、つまり、root 以外のユーザーをデフォルト ユーザーとして指定する方法を学ぶ必要があります。
Docker にユーザーを追加する必要があるのはなぜですか?
Docker のセキュリティは非常に重要です。特に、Docker を使用して実稼働アプリケーションをホストする場合は、アプリケーション コンテナーにデータ漏洩や破損につながる可能性のある機密情報が含まれる可能性があるため、細心の注意を払う必要があります。したがって、この場合、root ユーザーを使用して Docker コンテナを実行することはできません。そうしないと、コンテナ内の悪意のあるコードがホスト マシン上のシステム リソースにアクセスする可能性があり、非常に危険です。
したがって、この問題を解決するには、非 root ユーザーを使用して Docker コンテナを実行する必要があります。これにより、システムのセキュリティが強化され、Docker 使用時のセキュリティが向上します。
Docker にユーザーを追加するにはどうすればよいですか?
Docker ランタイムはデフォルトで root ユーザーに設定されています。root 以外のユーザーをデフォルト ユーザーとして指定する必要がある場合は、次の手順に従う必要があります:
ステップ 1:非 root ユーザーの作成
新しい非 root ユーザーを作成し、ローカル root ユーザーを無効にする必要があります。次のコマンドを使用して新しいユーザーを作成できます:
$ sudo adduser <username>
このコマンドは、新しいユーザーのユーザー名を
ステップ 2: 新しいユーザーを docker グループに追加する
これで、新しい非 root ユーザーが作成されましたが、そのユーザーを許可するには、それを Docker グループにも追加する必要があります。 Dockerソケットにアクセスします。次のコマンドを使用して、ユーザーを docker グループに追加できます。
$ sudo usermod -aG docker <username>
このコマンドは、新しいユーザーを docker グループに追加します。このコマンドは root ユーザーとして実行する必要があることに注意してください。
ステップ 3: Docker デーモンを再起動する
次に、新しいユーザーが Docker ソケットにアクセスできるように、Docker デーモンを再起動する必要があります。次のコマンドを使用して Docker デーモンを再起動できます。
$ sudo systemctl restart docker
このコマンドは Docker デーモンを再起動し、新しいユーザーが Docker ソケットにアクセスできるようにします。
ステップ 4: 新しいユーザーを使用するように Docker サービスを構成する
これで、新しいユーザーを Docker に追加しましたが、そのユーザーを使用するように Docker サービスを構成する必要もあります。次のコマンドを使用して、Docker システム サービスを編集できます。
$ sudo vim /etc/systemd/system/multi-user.target.wants/docker.service
このコマンドは、編集のために Docker システム サービス ファイルを開きます。ファイル内で、次の内容を変更する必要があります:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
を:
ExecStart=/usr/bin/dockerd --group docker -H fd:// --containerd=/run/containerd/containerd.sock
この変更により、Docker グループを使用するように Docker サービスが構成されます。ファイルを保存して閉じた後、Docker システム サービスを再ロードする必要があります。
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
これで、root 以外のユーザーがデフォルト ユーザーとして正常に指定され、Docker コンテナを実行できるようになりました。
概要
Docker は、root ユーザーを使用してコンテナを実行するためのデフォルト設定ですが、セキュリティ上の問題が発生する可能性があります。したがって、Docker のユーザーを追加し、root ユーザーを無効にする方法を学ぶ必要があります。操作中に、新しい非 root ユーザーを作成し、それを docker グループに追加し、最後にこのユーザーを使用するように Docker サービスを構成しました。このようにして、Docker のセキュリティを強化し、アプリケーションとシステム リソースを保護することに成功しました。
以上がDockerにユーザーを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。