ルート権限なしでログインするためのDockerソリューション

ルート権限なしでログインするためのDockerソリューション

docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。

unix:///var/run/docker.sock の Docker デーモン ソケットに接続しようとしたときに権限が拒否されました: http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json?all=1 を取得: unix /var/run/docker.sock をダイヤル: 接続: 権限が拒否されました

解決:

1. sudo を使用して root 権限を取得します。

次に、現在のユーザーを docker ユーザー グループに追加します。

sudo groupadd docker #docker ユーザーグループを追加 sudo gpasswd -a $USER docker #ログインしているユーザーを docker ユーザーグループに追加 newgrp docker #ユーザーグループを更新 docker ps #sudo で docker コマンドが正常に使用できるかどうかをテスト

補足:dockerでmysqlをデプロイする際にrootユーザーがログインできない問題と解決方法

今日、mysql:5.7 docker イメージを使用しているときに、コンテナを起動した後に root ユーザーを使用してログインできないことがわかりました。手順は次のとおりです。

1. mysql5.7イメージを取得する

$ docker pull mysql:5.7

2. 橋を作る

$docker ネットワーク作成 -d ブリッジ blog_network

3. mysqlコンテナを実行する

 docker コンテナを実行します -it --rm --name mysql --network blog_network -v $PWD/data/myscript/:/docker-entrypoint-initdb.d/ --env MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

4. コンテナに入る

$ docker exec -it mysql bash
#mysql -u ルート -p

手順 3 で設定したパスワード 123456 は次の結果を返します。

パスワードを入力してください: 
エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード使用: YES)

5. 解決策は次のとおりです

ステップ 2: コンテナ コマンドを実行し、次のように変更します。

 $ docker コンテナを実行 -it --detach --name mysql --network blog_network -p 3306:3306 -v $PWD/data/myscript/:/docker-entrypoint-initdb.d/ --env MYSQL_RANDOM_ROOT_PASSWORD=yes mysql:5.7
$ docker container logs mysql| grep '生成されたルートパスワード: ' | awk -F': ' '{print $2}'

ルート ユーザーの実際のパスワードである文字列が返されます。このパスワードでログインし、ルート ユーザーのパスワードを変更します。

オリ0オーMoo1Ieg1CeiYieSohleeVi1oh
$mysql -u ルート -p

上記のパスワードを使用してmysqlにログインした後、パスワードを変更する必要があります。

mysql>mysql.user を更新し、authentication_string=password('newpassword') を設定します。user='root' です。
mysql>権限をフラッシュします。
mysql>終了

図に示すように:

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

以下もご興味があるかもしれません:
  • Docker で Let's Encrypt から永久無料 SSL 証明書を取得する方法
  • Dockerでmysqlのルートパスワードを変更する方法
  • Docker を使用してコンテナ内のルート パスワードを変更する方法
  • Dockerコンテナでルート権限を取得する方法
  • docker cp ファイルをコピーしてコンテナに入る
  • Dockerはコンテナに入るためにルートを使用する
  • Dockerコンテナにホストディレクトリへの書き込み権限がない場合の解決策
  • Dockerに証明書を追加する方法

<<:  CSS3 のメディアクエリと rem レイアウトを組み合わせてモバイル画面に適応

>>:  Xtrabackup を使用した MySQL バックアップ プロセスの詳細な説明

推薦する

Linuxコマンドに基づいてフォルダー内の特定のファイルパスを抽出します

最近では、特定のフォルダ内の特定のファイルを自動的に検索する必要があり、ファイルパスとファイル名を別...

MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...

Dockerはdockerfileを使用してnode.jsアプリケーションを起動します

Dockerfileの作成expressによって自動的に作成されたディレクトリを例にとると、ディレク...

MySQL移行計画と落とし穴の実践記録

目次背景解決策1: 古いデータをバックアップするオプション2: テーブルを分割する解決策3: tid...

Access_Tokenの統合管理を実現するミニプログラム開発

目次TOKEN タイマーリフレッシュ2. access_tokenの内部設計2.1 access_t...

Webpack5-react スキャフォールディングをゼロから構築するための実装手順 (ソースコード付き)

目次ウェブパック5公式スタート建築ガイド構築を開始する依存する準備が完了したら、プロジェクトの構築を...

CSS フロートプロパティ図 フロートプロパティの詳細

CSS の float プロパティを正しく使用することは、カバーすべき内容が多く、ブラウザの互換性の...

カスタム変数を使用した MySQL クエリの最適化

目次並べ替えクエリの最適化変更されたばかりのデータ行を繰り返し取得しないようにする遅延ロードされた結...

HTML における rel="nofollow" の役割と rel 属性の使用を分析する

リンクに rel="nofollow" 属性を追加すると、検索エンジンにこの接続...

MySQL 5.7 のインストールと設定のチュートリアル

この記事では、参考までにMySQLのインストールと設定のチュートリアルを紹介します。具体的な内容は次...

MySQL5.6.31 winx64.zip インストールと設定のチュートリアル

#1. ダウンロード # #2. ローカルに解凍し、必要な構成のmy*.iniを変更します。 #3....

Vue コンポーネント値転送中のデータ損失の分析と解決

序文前回の記事では、JavaScript の 2 つのデータ型、基本型と参照型、および参照型の浅いコ...

知っておくべき JS 配列削減の高度な使い方 25 選

序文Reduce は ES5 で追加された新しい従来の配列メソッドの 1 つです。forEach、f...

単一マシン上での Tomcat の複数インスタンスの実装

1. はじめにまず、1 台のマシンで複数のインスタンスを使用する理由という質問に答える必要があります...

純粋な CSS3 でペットの鶏のサンプルコードを実現

最近、CSS3に関する知識や記事をたくさん読んできましたが、CSS3はとても便利に使えると思います。...