MatrixDB 4同样提供Docker运行环境,在hub.docker.com中的地址为https://hub.docker.com/u/matrixdb

1. 从镜像仓库中拉取最新镜像

进入到主页选择matrixdb/centos7_demo:

centos7_demo

页面右边提供了拉取镜像的命令:

pull_command

在终端中执行拉取命令:

docker pull matrixdb/centos7_demo

执行成功后,可以看到本地仓库已经包含了最新版本的镜像:

$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
matrixdb/centos7_demo   latest    65d20762cc25   19 hours ago   1.65GB

2. 创建容器

下面,基于获取的镜像创建容器:

docker run -it -p 5432:5432 --name mxdemo matrixdb/centos7_demo

其中,-p参数为主机与容器做端口映射,目的是为了从宿主机连接容器内的数据库。格式为-p 宿主机端口:容器端口

创建成功后,使用Ctrl+P Ctrl+Q命令退出。

查看运行的容器:

$ docker ps
CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS          PORTS              NAMES
87344882d280   matrixdb/centos7_demo   "/home/mxadmin/entry…"   25 minutes ago   Up 25 minutes   22/tcp, 7000/tcp   mxdemo

3. 登入容器并使用

使用docker exec命令登入到运行的容器中:

docker exec -it -u mxadmin mxdemo /bin/bash

接下来,就可以像真实环境一样正常使用MatrixDB了:

[mxadmin@87344882d280 ~]$ psql
psql (12)
Type "help" for help.

mxadmin=#

目前容器仅支持MatrixDB集群,并不支持Matrix Manager图形化界面。

4. 从宿主机连接容器数据库

如果我们希望从宿主机连接容器内的数据库,则需要修改数据库授权配置,并修改初始密码。

4.1 修改授权

修改pg_hba.conf配置文件,允许从外部通过用户名密码访问数据库。

vi $MASTER_DATA_DIRECTORY/pg_hba.conf

在最后一行增加:

host    all     all     0.0.0.0/0       md5

重新加载pg_hba.conf,使其生效。

gpstop -u

4.2 修改密码

[mxadmin@87344882d280 ~]$ psql -d postgres
psql (12)
Type "help" for help.
postgres=# alter role mxadmin with password 'mxadmin';
ALTER ROLE

4.3 从宿主机连接数据库

从宿主机用DBeaver连接容器内数据库,根据上面的设置,填写连接信息后,点OK即可。 DBeaver