前書き
- DockerにMySQLコンテナを日本語環境でサクッと建てたい!
- MySQLのバージョンは最新のバージョン(8)にしたい!
- Macで作業したい!
を叶えるためのメモ。
タイトルでMacと謳っていますがWindowsでもほぼ同じ手順です。
違いはDockerのインストーラーがMac用かWindows用かだけです。
環境
- Mac 10.15.1 (Catalina)
- Docker for Mac
事前準備
-
Docker Desktop for Mac をインストールする
参考URL:https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81 -
Kitematic をインストールする
→DockerコンテナをGUIで操作できるアプリ。インストール手順はタスクトレイのDockerアイコンから。
docker-composeで設定した共有ディレクトリやポートなどの確認もこれで行いました。
docker-composeでMySQLコンテナを立てる
参考URL
上記を参考に、MySQL8のコンテナを日本語環境で建てる。
特に2つ目のリンクはほぼそのまま参考にさせていただきました。
docker-compose.yml
version: '3'
services:
mysql:
build:
context: ./mysql
dockerfile: Dockerfile
environment:
MYSQL_ROOT_PASSWORD: root #rootユーザのパスワード
MYSQL_USER: test #ユーザアカウント
MYSQL_PASSWORD: password #ユーザアカウントのパスワード
MYSQL_DATABASE: testDb #DB名
TZ: "Asia/Tokyo"
ports:
- 13306:3306
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/sql:/docker-entrypoint-initdb.d
Dockerfile
FROM mysql:8.0
# Set debian default locale to ja_JP.UTF-8
RUN apt-get update && \
apt-get install -y locales && \
rm -rf /var/lib/apt/lists/* && \
echo "ja_JP.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8
# Set MySQL character
RUN { \
echo '[mysqld]'; \
echo 'character-set-server=utf8mb4'; \
echo 'collation-server=utf8mb4_general_ci'; \
echo '[client]'; \
echo 'default-character-set=utf8mb4'; \
} > /etc/mysql/conf.d/charset.cnf
上記のディレクトリイメージは以下の通り。
├── docker-compose.yml
└── mysql
├── Dockerfile (上記のファイル)
├── data (ディレクトリ)
└── sql (ディレクトリ)
接続確認は適当なDBクライアントでOK.
個人的にはDBeaver
を使いました。WindowsだとA5:SQL Mk-2
が好きなのですが…。
初期構築用のCreateTableやInsertなどのSQLファイルはsqlディレクトリに放り込むイメージです。