LoginSignup
38
50

More than 5 years have passed since last update.

DockerでさくっとPostgreSQL/MySQL/MariaDBを触る方法

Last updated at Posted at 2016-08-20

事前準備

開発環境のOSにあわせて、Dockerをインストールしてください

検証環境

Docker v1.12.0 を利用しています

$ docker version

Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      linux/amd64

PostgreSQL(Official Repository

# PostgreSQLコンテナの起動(バージョンは任意)
$ docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:9.5.4

# 接続の際にパスワードを聞かれるのが面倒なので.pgpassを作成
$ echo "*:5432:*:*:postgres" >> ~/.pgpass
$ chmod 600 ~/.pgpass

# brewでさくっとPostgreSQLクライアントをインストール
$ brew install postgres

# PostgreSQLへの接続
$ psql -h localhost -U postgres

# 作業完了したらコンテナを停止
$ docker stop postgres

MySQL(Official Repository

# MySQLコンテナの起動(バージョンは任意)
$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -p 3306:3306 -d mysql:5.7.14

# brewでさくっとMySQLクライアントをインストール
$ brew install mysql

# MySQLへの接続
$ mysql -h 127.0.0.1 -uroot -pmysql

# 作業完了したらコンテナを停止
$ docker stop mysql

プチハマりメモ

mysql -h localhost -uroot -pmysqlで接続しようとしたときに、エラーが出た

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

この辺りの資料がとても参考になった

MariaDB(Official Repository

# MariaDBコンテナの起動(バージョンは任意)
$ docker run --name mariadb -e MYSQL_ROOT_PASSWORD=mariadb -p 3306:3306 -d mariadb:10.1.16

# MariaDBへの接続
$ mysql -h 127.0.0.1 -uroot -pmariadb

# 作業完了したらコンテナを停止
$ docker stop mariadb

データの永続化をしたい場合

Data Volume Container を利用することで実現可能。

この辺りの資料がとても参考になります

38
50
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
50