ドッカーは、MySQLサービスを使用して構築しました

まず、ドッキングウィンドウをインストール

WindowsとMac版は公式サイトのドッキングウィンドウのデスクトップに直接ダウンロードすることができます

Linuxのインストール方法はhttps://www.cnblogs.com/myzony/p/9071210.htmlを参照することができます

あなたは、正常にインストールするかどうかを確認するには、シェルで次のコマンドを入力することができます。 sudo docker version

第二に、ミラーを作成します

  1. (ここでは、我々はあなたが戻って書いていない場合は、自動的に最新バージョンを引っ張ってくる、バージョン番号を5.7を選択)公式の画像を引いて

    docker pull mysql:5.7   # 拉取 mysql 5.7
    docker pull mysql       # 拉取最新版mysql镜像

    MySQLのドキュメント住所

  2. 成功を引っ張るチェック

    $ sudo docker images
  3. 一般的には、ディレクトリマッピングデータベースコンテナを作成する必要はありません

    sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
    • -name:船名、ここでの命名mysql
    • -e:コンフィギュレーション情報、ここで設定MySQLのrootユーザのログインパスワード
    • -p:3306コンテナポートにポートマッピング、ホストポート3306マッピング
    • -d:ソースイメージの名前、ここではMySQLの:5.7
  4. あなたは、ディレクトリ・マップを作成したい場合

    duso docker run -p 3306:3306 --name mysql \
    -v /usr/local/docker/mysql/conf:/etc/mysql \
    -v /usr/local/docker/mysql/logs:/var/log/mysql \
    -v /usr/local/docker/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:5.7
    • -v:ホストとコンテナの間でディレクトリマッピング、「:」の前にホストディレクトリとして、コンテナディレクトリが続きます
  5. 容器が正しく動作している確認してください

    docker container ls
    • あなたは、コンテナIDで鏡を見るの容器、コマンドを起動し、時間、ステータス、ポートマッピング情報を作成し、船名ことができます

第三に、MySQLを接続します

  1. mysqlクライアントにドッカーローカル接続

    sudo docker exec -it mysql bash
    mysql -uroot -p123456
  2. MySQLを使用してNavicatはリモート接続

    私はWindowsとLinuxを見つけられませんでした、NavicatはPremiun(下記)のMac版を見つけました。あなた自身のために見ることができます。

    Baiduのクラウド接続パスワード:qps3(有名な共有サイトの海賊からパッケージ、および友人のchaosgodとjor_ivyのおかげで)

    IMG

    IMG

    インストール後:「ZH-Hans.lproj」中国のパッケージをコピーする/コンテンツ/リソースを置きます。(アプリケーション右パッケージの内容を表示)

  3. リモート接続ソフトウェアを使用する際に問題に注意を払うために、

    一緒に3306個のコンテナのコンテナ港とホストを作成するときに私たちは、3306ポートマッピングを持っているので、我々は訪問するべきです:

    host: 127.0.0.1
    port: 3306
    user: root
    password: 123456
  4. あなたの血管が正常に動作しますが、MySQLへアクセスすることができない場合は、一般的に以下の考えられる理由があります。

    • ファイアウォール

      # 开放端口:
      $ systemctl status firewalld
      $ firewall-cmd  --zone=public --add-port=3306/tcp -permanent
      $ firewall-cmd  --reload
      # 关闭防火墙:
      $ sudo systemctl stop firewalld
    • ドッカーは、ローカルクライアントがリモート・アクセス・アカウントを設定入力する必要があります

      $ sudo docker exec -it mysql bash
      $ mysql -uroot -p123456
      mysql> grant all privileges on *.* to root@'%' identified by "password";

      原理:

      # mysql使用mysql数据库中的user表来管理权限,修改user表就可以修改权限(只有root账号可以修改)
      
      mysql> use mysql;
      Database changed
      
      mysql> select host,user,password from user;
      +--------------+------+-------------------------------------------+
      | host         | user | password                                  |
      +--------------+------+-------------------------------------------+
      | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      | 192.168.1.1  | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      +--------------+------+-------------------------------------------+
      2 rows in set (0.00 sec)
      
      mysql> grant all privileges  on *.* to root@'%' identified by "password";
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> flush privileges;
      Query OK, 0 rows affected (0.00 sec)
      
      mysql> select host,user,password from user;
      +--------------+------+-------------------------------------------+
      | host         | user | password                                  |
      +--------------+------+-------------------------------------------+
      | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      | 192.168.1.1  | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      | %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      +--------------+------+-------------------------------------------+
      3 rows in set (0.00 sec)

リファレンス接続:

https://blog.csdn.net/jor_ivy/article/details/81323199

https://www.52pojie.cn/thread-727433-1-1.html

おすすめ

転載: www.cnblogs.com/sablier/p/11605606.html