DockerでMySQLの環境を構築してみました。データベースとテーブルの作成には、MySQLの公式サイトから配布されているサンプルデータベースを利用しました。

環境

  • Docker 18.09.2
  • MySQL 8.0.15

コンテナを作成

イメージを取得してコンテナを作成します。

docker pull mysql
docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql

MySQLに接続

ホスト側からMySQLのコンテナに接続します。
入力するパスワードはコンテナ作成時にMYSQL_ROOT_PASSWORDで定義した値です。

$ mysql -h 127.0.0.1 -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.15 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

端末にMySQLがインストールしていない場合、いったんコンテナに接続してからMySQLに接続します。

$ docker ps  #コンテナIDを確認

$ docker exec -it <コンテナID> bash
root@<コンテナID>:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.15 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

サンプルデータベースの作成とデータ投入

MySQLの公式サイトから、Example Databasesの「world database」のzipをダウンロードします。
zipを解凍すると、sqlファイルが入っているので、これを実行します。

mysql> source world.sql

データベースとテーブルが作成されたことを確認します。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| world              |
+--------------------+
5 rows in set (0.00 sec)

mysql> show tables;
+-----------------+
| Tables_in_world |
+-----------------+
| city            |
| country         |
| countrylanguage |
+-----------------+
3 rows in set (0.00 sec)

mysql> 

参考サイト

MySQLの公式イメージ