はじめに
DockerでMySQLの開発環境を作成するログを書いていきます。
前提条件
以下の条件が実施済みであること
・Dockerが設定済みであること
【開発環境構築】DockerをインストールしてPCにコンテナを作成してみる – SEもりのLog (selifemorizo.com)
フォルダ/ファイル構成を作成する
MySQL
│ docker-compose.yml
│
└─db
├─data ←Mysqlのデータをマウントするフォルダ
└─sql
Create_Table.sql
docker-compose.ymlファイルを作成する
version: '3'
services:
#MYSQL
mysql :
container_name: MysqlTest
image: mysql:latest
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: rootPass
MYSQL_DATABASE: test_database
MYSQL_USER: testUser
MYSQL_PASSWORD: testPass
TZ: 'Asia/Tokyo'
#データを保管するためにボリュームを指定する
volumes:
- ./db/data:/var/lib/mysql
#MySQLのデフォルトポートは「3306」だが、既に使用している場合は、別の値を使用する
ports:
- '3307:3306'
Docker-composeコマンドを実行する
最初の実行は少し時間がかかるかもしれません。
-f 以降は自身の作成したファイルのパスを指定してください。
>docker-compose -f \docker-compose.yml up -d
コンテナが作成されたことを確認する
>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
51e78c4889d4 mysql:latest "docker-entrypoint.s…" 16 seconds ago Up 11 seconds 33060/tcp, 0.0.0.0:3307->3306/tcp MysqlTest
接続確認してみる
「A5M2」ツールで接続して確認してみます。
「A5M2」をダウンロード
以下サイトからツールをダウンロードします。
A5:SQL Mk-2 – フリーのSQLクライアント/ER図作成ソフト (松原正和) (mmatsubara.com)
接続
A5M2を実行し、「データベース → データベース追加と削除 → 追加」から設定値を入力し接続する。
ホスト名:localhost
ポート番号:docker-compose.ymlで設定したポート
ユーザID:root
パスワード:docker-compose.ymlで設定したパスワード
接続できたら完了です。
テーブルを用意して検索まで実施
CREATE
CREATE TABLE `test_table`
(
`id` INT(20),
`name` VARCHAR(20) NOT NULL,
`createdUser` VARCHAR(20) NOT NULL,
`createdDate` Datetime DEFAULT NULL,
`updatedUser` VARCHAR(20) DEFAULT NULL,
`updatedDate` Datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT
INSERT
INTO mysql.test_table(
id
,name
,createdUser
,createdDate
,updatedUser
,updatedDate
)
VALUES (
1
,'mori'
,'mori'
, CURDATE()
, NULL
, NULL
)
SELECT
SELECT
id
,name
,createdUser
,createdDate
,updatedUser
,updatedDate
FROM
mysql.test_table
ORDER BY
id;
ドキュメント
【Docker】
Compose Specification(仕様) — Docker-docs-ja 24.0 ドキュメント
【MySQL】
MySQL
最後に
以上、ログになります。
これからも継続していきましょう!!
コメント