镜像安装
镜像包含了Vastbase运行需要的基本环境、已经完成安装和初始化过的数据库,用户可以快速使用数据库。
步骤1 将镜像包拷贝到运行环境下使用docker load
命令加载镜像(镜像包可联系工程师获取)。
docker load -i 镜像文件名
例如:
步骤2 创建容器,在创建容器时需要指定证书挂载路径、数据挂载路径、端口映射、初始用户密码。 (如下命令以arrch64为例,实际情况请按照步骤1 加载镜像的返回结果最后一行为主)
容器中运行数据库的用户为vastbase且uid:gid为 1000:1000,为保证容器中有权限访问被挂载的目录,宿主机中需要将被挂载的目录和文件的属性uid:gid修改为 1000:1000。
如下命令中根据实际需要修改的部分参见表1。
docker run语法参见docker run。
docker run -d --privileged=true -v {license_path}:/usr/local/vastbase/lic -v {data_path}:/home/vastbase/data -v {备份目录}:/home/vastbase/backup -v {备份执行日志}:/home/vastbase/backup -e VB_PASSWORD=Vastbase@123 -e VB_USERNAME=postgres --name g100 -p 25432:5432 g100-env-aarch64
返回结果示例如下:
参数名称 | 含义 |
---|---|
-v {data_path}:/home/vastbase/data | {data_path}为宿主机数据挂载目录,容器中的目录/home/vastbase/data不可修改。 |
-v {license_path} :/usr/local/vastbase/lic | {license_path} 宿主机证书挂载目录 ,目录中证书文件名必须为license或者.license,容器中的目录/usr/local/vastbase/lic不可修改。 |
-v {备份目录}:/home/vastbase/backup | {备份目录}为宿主机备份文件存放路径,容器中的目录/home/vastbase/backup不可修改。 |
-v {备份执行日志}:/home/vastbase/backup | {备份执行日志}为宿主机备份执行日志存放路径 ,容器中的目录/home/vastbase/backup不可修改。 |
-e VB_PASSWORD=Vastbase@123 | 初始用户密码,长度至少为8位,且必须包含大写字母、小写字母、数字、符号中的三种字符。其中Vastbase@123为示例密码,建议根据需求修改。 |
-p 25432:5432 | 端口映射(本机端口:容器端口),可根据需要自行修改本机端口25432,容器端口5432不可修改。 |
-v ${宿主机目录}:${镜像中的目录}
中的${镜像中的目录}为固定目录不可修改。数据目录和license目录建议使用绝对路径。
log提示无法加载.license文件,是因为部分G100版本修改了证书文件名称,尝试将lic目录下的证书文件改为.license。
非必填参数如表2:
表2 非必填参数
参数名称 | 含义 |
---|---|
-e VB_USERNAME | 自动创建用户名称,和初始用户共享密码。 |
–name | 运行容器名称。 |
步骤3 查看日志。在日志中查看是否启动数据库成功:
docker logs g100
示例如下:
镜像提供定时任务脚本文件,存放于/home/vastbase/scripts/目录,以下脚本完成定时任务,可在容器中使用crontab进行配置。
clean_logs.sh:清除旧日志。
nmon.sh:获取nmon日志。
vastbase_backup.sh:备份数据库。
参考内容
docker run
功能描述
创建一个新的容器并运行一个命令,语法如下:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明
-a stdin
指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR三项。
-d
后台运行容器,并返回容器ID。
-i
以交互模式运行容器,通常与 -t 同时使用。
-P
随机端口映射,容器内部端口随机映射到主机的端口。
-p
指定端口映射,格式为:主机(宿主)端口:容器端口。
-t
为容器重新分配一个伪输入终端,通常与 -i 同时使用。
--name=“vastbase”
为容器指定一个名称。
--dns 8.8.8.8
指定容器使用的DNS服务器,默认和宿主一致。
--dns-search example.com
指定容器DNS搜索域名,默认和宿主一致。
-h “mars”
指定容器的hostname。
-e username=“ritchie”
设置环境变量。
--env-file=[]
从指定文件读入环境变量。
--cpuset=“0-2” or –cpuset=“0,1,2”
绑定容器到指定CPU运行。
-m
设置容器使用内存最大值。
--net=“bridge”
指定容器的网络连接类型,支持bridge、host、none和container四种类型。
--link=[]
添加链接到另一个容器。
--expose=[]
开放一个端口或一组端口。
--volume , -v
绑定一个卷。