DockerのコンテナにSequelに接続する設定
docker-compose.yml
Dockerで作成するコンテナは下記の通りです。
version: '3'
services:
mysql:
image: mysql:5.7
environment:
MYSQL_DATABASE: development
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
# 文字化け対応
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
ports:
- 3308:3306
下記コマンドでコンテナが起動します。
$ docker-compose up
Sequel Pro
下記の情報を入力して、「接続をテスト」を押します。
問題がなければ、「接続が成功しました」というメッセージが表示されます。
これで「接続」を押すと、無事にDockerのMySQLにSequelで接続できます。
名前 | 任意の名前 |
ホスト | 127.0.0.1 |
ユーザ名 | root |
パスワード | password |
データベース | development |
ポート | 3308 |
よく使用するDBであればわかりやすい名前に変更して、「お気に入りに追加」しておくと、毎回入力する手間が省けます。
Sequelを使用せずにDockerのMySQLに接続する方法
1. コンテナに入ってからMySQLに接続する方法
まずはMySQLのコンテナに入ります。
$ docker exec -it <MySQLのコンテナ名> bash
今回の場合、「docker-compose.yml」の「services」で「mysql」という名前のコンテナを作成しているので、下記でMySQLのコンテナに入ることができます。
$ docker exec -it mysql bash
コンテナに入ったらMySQLのコマンドでDBに接続できます。
# mysql -u root -ppassword development
2. 直接コンテナ内のMySQLに接続する方法
コンテナに入らずに直接コンテナ内のDBに接続する場合は下記のコマンドで接続可能です。
$ mysql -u <ユーザー名> -p<パスワード> -h <ホスト名> -P <ポート名> <DB名>
今回のコンテナ内のDBには下記のコマンドで接続できます。
$ mysql -u root -ppawwrod -h 127.0.0.1 -P 3308 development
コメント