快速体验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 でデータのポータビリティをあげ永続化しよう
bannerAds