【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生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

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