事前準備
開発環境の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 を利用することで実現可能。
この辺りの資料がとても参考になります