LoginSignup
0
0

OrbstackでDockerのコンテナを起動してMySQLに接続する

Posted at

はじめに

業務の中で、今まではDocker for Desctopを使用していた。
不便は感じなかったものの、Docker for Desctopの悪い点をカバーしてくれると聞いて使用してみることにしました。今回はdockerでmysqlの環境構築を例に説明します。

目次

  • 使用するもの・環境
  • OrbStackのインストール方法
  • MySQLを例に実際に起動してみる

使用するもの

・Orbstack(docker-composeを使用)
・MySQlイメージ(ver.5.7)

環境

・Mac
・Visual Stagio Code

Orbstackをインストール

brewを使ってインストール

brew install orbstack

今回はbrewでインストールしましたが、下記のサイトにてダウンロードすることも可能です。

MySQLを例に実際に起動してみる

ディレクトリの構造

スクリーンショット 2024-01-11 15.58.43.png
画像のようなディレクトリの構造になっています。

docker-composeの中身

スクリーンショット 2024-01-09 23.12.51.png

公式ドキュメントを参考に作成しました。他にも設定できる項目があるのでチェックしてみてください。
https://hub.docker.com/_/mysql

volumesは任意の名前をつけています。

dockerfile

dockerイメージ、MySQL設定ファイルの読み込みを指定しています。

スクリーンショット 2024-01-09 23.17.24.png

今回は前述したように5.7を使用しています。

my.cnf

MySQLの文字コードの設定です。

スクリーンショット 2024-01-09 23.40.25.png

user.sql

初期値として作成するテーブルとDBをsqlで記述しています。

スクリーンショット 2024-01-09 23.50.27.png

docker-composeの起動

コマンドは特に変化はないので通常のdockerのコマンドを使用して起動します。

docker-compose build

コンテナを起動します。こちらもコマンドに変化はありません。

docker compose up

バックラウンドで実行する際はup の後ろに-dをつけてください。

docker compose up -d

画像はバックラウンド実行せずに起動した時のものです。

スクリーンショット 2024-01-11 11.26.10.png

この時点でのorbstackは、コンテナが起動している状態です。起動しているかどうかの基準としては、停止ボンタンが表示されていれば起動しています。こちらから起動・停止することも可能です。

スクリーンショット 2024-01-11 11.27.23.png

MySQLにアクセス

dockerが立ち上がったのでMySQLにアクセスします。
アクセス方法として、コンテナからMySQLに接続します。
その際に、コンテナIDが必要になります。
余談になりますが、コンテナIDを確認する方法について軽く説明します。

コンテナIDを確認する手法として、2種類あります。

作成したコンテナの情報を確認して、コンテナIDを取得する方法

docker ps

OrbStackのコンテナメニューから確認する方法

下記のように赤丸で囲んだ部分を選択します。
スクリーンショット 2024-01-11 11.40.20.png

選択すると下記のように詳細情報が表示され、赤丸で囲んだ部分がコンテナIDです。
スクリーンショット 2024-01-11 11.42.00.png

個人の好みですが、個人的に後者のOrbStackでのID取得がおすすめです。コマンドを打ち込まずに簡単にコピーできるためです。

コンテナIDが取得できたら、下記のコマンドを実行してコンテナに接続します。

docker exec -it [コンテナID] bash

続いて、コンテナ内のMySQLに接続します。接続できるとパスワードを聞かれるので、docker-compose.ymlで設定したパスワードを入力してください。

mysql -u root -p

このように表示されれば無事アクセスできています。
スクリーンショット 2024-01-11 11.55.17.png

テーブルが作成されているか確認します。

show databases ;

赤丸で囲んだ部分が初期のデータベースです。
青丸で囲んだ部分がusers.sqlで作成したテーブルです。

スクリーンショット 2024-01-11 11.57.19.png

下記のコマンドを実行するとテーブルの中身を実際に確認できます。

use testQl;

スクリーンショット 2024-01-11 12.01.50.png

テーブルの中身をSQLクエリを実行して確認します。
スクリーンショット 2024-01-11 12.05.06.png
無事にデータが投入されています。

終了する際も特に変更点はありません。

docker compose stop

MySQLデータを初期化したい場合などはコンテナを削除してください。こちらもコマンドの変更はありません。

docker compose down

まとめ

以上がOrbStackでコンテナを作成・起動してみました。
個人的には、コンテナのIDの確認がしやすい点であったり、今回は触れませんでしたが、volumesで保存されているデータの確認がfinderでできるという利点があり、使いやすいのではないかと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0