【docker-compose】Remote Container拡張機能からVScodeサーバーのMySQL拡張機能を経由してMySQLコンテナにアクセスする

タイトルが長すぎて「何言ってんだコイツ」となりそうなので

図解しました↓。

Remote Container拡張機能からVScodeサーバーのMySQL拡張機能を経由してMySQLコンテナにアクセスする

こういうことがしたい。

 

 

まず、以下のようなdocker-compose.ymlファイルを作る。

version: '3'
services:
 mysqldazo:
   image: mysql:5.7
   environment:
     MYSQL_ROOT_PASSWORD: hoge
   ports:
     - '3306:3306'

#nodejsコンテナの部分は省略

 

Ctrl+Shift+Pを押してコマンドパレットを開き、Reopen in Container→docker-compose.ymlから開くを選択して、VScode経由でコンテナを立ち上げる。(自動的にpullしたりbuildしたりrunしたりされる。便利。)

 

コンテナ側のVScodeにMySQLの拡張機能を入れる。(MySQLという名前の拡張機能は2個ありますがダウンロード数が多いほうです)

 

エクスプローラー画面に行き、MYSQLという項目の右にある+ボタンを押す

 

以下のようなウィンドウが出てくるので、入力→Enterを何回か繰り返す。

VScodeのMYSQL拡張機能の設定

  • hostname:
    • 上のdocker-compose.ymlの例で言うと、mysqldazoがhostnameになるみたいです
      (コンテナ内では、「localhostと打つと127.0.01と名前解決される」と同じ感じで、「サービス名を打つとそのコンテナのIPアドレスで名前解決される」みたいな仕組みが発動しているらしい)
    • ちなみに、以下のようにRemote Container拡張機能を経由せずに、クライアントにインストールしたMYSQL拡張機能からアクセスする場合はlocalhostでアクセスできます。
      クライアントにインストールしたMYSQL拡張機能からアクセスする場合はlocalhostでアクセスできます。
  • user:
    • rootを指定する
  • password:
    • hogeを指定する。(docker-compose.ymlで指定した通り)
  • port:
    • 3306を指定する。(docker-compose.ymlで指定した通り)

 

これで、以下のようにMySQLのデータベースにアクセスできるようになります。

 

おわり

仮想環境
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。
2019年くらいからフロントエンドエンジニアを目指している元アフィリエイターです💩

penpenをフォローする
penpenをフォローする
penpenメモ

コメント

タイトルとURLをコピーしました