快速体验Docker中PostgreSQL/MySQL/MariaDB的方法
事前准备
请根据开发环境的操作系统安装Docker。
-
Installation on Mac OS X
Installation on Winsows
验证环境
我正在使用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(官方代码库)
# 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(官方仓库)
# 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)
这些资料对周围非常有帮助。
-
ローカルポートのmysqlに対してTCPで接続する
MySQLでlocalhostと127.0.0.1の違い
MariaDB(官方仓库)
# 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
如果想实现数据的永久化
通过使用数据容量容器可实现。
这些资料在这里非常有参考价值。
-
Docker: データボリュームとデータボリュームコンテナ
DockerとData Volume Containerのお話
Docker でデータのポータビリティをあげ永続化しよう