ルート権限なしでログインするための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 バックアップ プロセスの詳細な説明

推薦する

Windows (コミュニティ エディション) に MySQL 8.0.18 をインストールするためのチュートリアル

この記事では、Windows で MySQL をインストールする方法について簡単に説明します。他にご...

MySQL トランザクションの概念と使用法の詳細な説明

目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...

Docker インストール Nginx チュートリアル 実装図

Nginx をインストールして試してみましょう。画像はクラスであり、コンテナはオブジェクトであること...

シンプルなショッピングカートの最も完全なコード分析を実装する JavaScript (ES6 オブジェクト指向)

この記事では、シンプルなショッピングカートを実装するためのJavaScriptの具体的なコードを参考...

ラムダ式の原則と例

ラムダ式ラムダ式 (クロージャとも呼ばれる) は、Java 8 のリリースを推進した最も重要な新機能...

npm グローバル モジュールのデフォルトのインストール パスを変更するためにノードのインストールをカスタマイズする手順

node を D ドライブにインストールしましたが、C ドライブのスペースを占有したくなかったため、...

よく使われるCSSカプセル化方法の概要

1. pc-reset PCスタイルの初期化 /* 正規化.css */ html{ 行の高さ: 1...

Elasticsearch を使用する際の一般的な問題の解決策

1. redis で使用すると Netty の起動競合が発生するため、***Application ...

MySQL5.7 マスタースレーブ構成例の分析

MySQL5.7マスタースレーブ構成の実装方法、具体的な内容は次のとおりですインストール環境:マスタ...

Debian Dockerコンテナにcrontabスケジュールタスクを追加する

現在、DockerイメージのほとんどはDebianベースです # cat /etc/issue De...

MySQLデータベースエンジンをInnoDBに変更する

PS: ここではPHPStudy2016を使用しています1. 変更中にMySQLを停止する2. my...

MySQL パフォーマンスの最適化: インデックスを効率的かつ正しく使用する方法

実践こそが真実をテストする唯一の方法です。この記事では、インデックスの全体的な使用法についてのみ説明...

Vue のスロットの使用法と適用シナリオの詳細な分析

スロットとは何ですか? Vue では、子コンポーネント タグの中央に何もラップできないことはわかって...

ピクセルを包括的なブランド体験に変えるヒント

編集者:この記事では、インタラクティブデザインがブランドコミュニケーションチェーン全体で果たすべき役...

Nginxリバースプロキシ設定でプレフィックスが削除される

nginx をリバース プロキシとして使用する場合、リクエストをそのまま次のサービスに転送するだけで...