DockerでMySQLを利用してみたら思いのほか便利だった件
環境
- Windows10 64bit Home
- Docker Desktop
- Docker version 24.0.7
- MySQL Workbench
dockerでMySQLを扱う
dockerにmysqlのイメージをインストールする。
インストールコマンドは以下の通り。
docker pull mysql
docker-compose.ymlを記述する。
version: "3" services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: <password> MYSQL_DATABASE: "testDB" MYSQL_USER: <username> MYSQL_PASSWORD: <user_password> TZ: "Asia/Tokyo" ports: - 13306:3306 volumes: - db-store:/vol/mysql volumes: db-store:
基本的にはdockerの公式サイトの通り。
MYSQL_ROOT_PASSWORDはrootのパスワードを設定します。
MYSQL_USER, MYSQL_PASSWORDはユーザ名およびユーザパスワードを設定します。
portsは13306:3306を指定しています。
docker側は3306で、ホストOS(Windows)側は13306にしています。
別プロセスで3306を利用しているため、3306を指定すると競合してしまうためです。
volumesはデータの永続化をするために設定しています。
db-storeは任意の名前を指定できます。
/vol/mysql部分は任意のディレクトリの絶対パスを記述することができます。
docker-compose.ymlがあるディレクトリで
docker-compose up -d
を実行します。
コンテナが作成されるので、Docker Desktopで確認します。 正常に完了していれば、以下のようになっていると思います。
あとはホストOS側でSQLクライアントソフトウェア等を利用して接続するだけです。
接続情報は以下の内容です。
Hostname: 127.0.0.1 Port: 13306 Username: <username> Password: <user_password> Default Schema: testDB
Username, Passwordはdocker-compose.ymlのMYSQL_USERとMYSQL_PASSWORDに対応します。
Default SchemaはMYSQL_DATABASEに対応します。
これでSQLの実行が可能になります。
最後に
ブログのデザイン変えてみました。
少しコードが見辛い気もしますが、しばらくはこのデザインでいきます。