一、自定义网络
添加创建自定义网络
docker network create --subnet=172.172.0.0/24 docker-br0
进入容器检查是否可以ping通
#更新yum
apt-get update
#安装ping命令
apt-get install iputils-ping
#安装ifconfig
apt-get install net-tools
二、初始化达梦容器
在初始化容器的时候需要指定需要使用的端口
docker run -d --net docker-br0 --ip 172.172.0.10 -p 31881:8080 -p 30237:5236 -p 30238:61141 -p 30239:52141 -p 30240:33141 --restart=always --name testdb5 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=testdb5 -v /home/dmdba/docker:/opt/dmdbms/data -v /home/dmdba/dm.key:/opt/dmdbms/bin/dm.key 192.168.101.88:5000/dm8:v8.1.1.156_x86_rh6_64_ent
docker run -d --net docker-br0 --ip 172.172.0.11 -p 31880:8080 -p 30247:5236 -p 30248:61141 -p 30249:52141 -p 30250:33141 --restart=always --name testdb2 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=testdb2 -v /home/dmdba/dmdocker:/opt/dmdbms/data -v /home/dmdba/dm.key:/opt/dmdbms/bin/dm.key 192.168.101.88:5000/dm8:v8.1.1.156_x86_rh6_64_ent
修改启动文件,使得容器启动时使用mount启动数据库
./dmrman CTLSTMT="BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FULL TO BACKUP_FILEI BACKUPSET '/opt/dmdbms/data/BKCKUP_FILE_01'"
./dmrman CTLSTMT="RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/BKCKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/BKCKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"
使用docker cp 命令中把备份集拉取出来
#将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
#将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
#将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
三、安装官方文档搭建主备集群
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME =DMSERVE1R #实例名,和dm.ini中的一致
MAL_HOST = 172.172.0.11 #MAL系统监听TCP连接的IP地址
MAL_PORT = 61141 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 172.172.0.11 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT =33141
[MAL_INST2]
MAL_INST_NAME = DMSERVE2R
MAL_HOST = 172.172.0.10
MAL_PORT = 61141
MAL_INST_HOST = 172.172.0.10
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141
[ARCHIVE_TIMELY1]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVE2R ##
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /opt/dmdbms/data/DAMENG/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 1024
[ARCHIVE_TIMELY1]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVE1R ##
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /opt/dmdbms/data/DAMENG/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 1024
[GRP1]
DW_TYPE = GLOBAL #实时守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一OGUID值
INST_INI = /opt/dmdbms/data/DAMENG/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动拉起功能
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver#命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭
MON_DW_Confirm = 1 #确认监视器模式
MON_LOG_PATH = /opt/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST, PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 172.172.0.11:52141
MON_DW_IP = 172.172.0.10:52141
更多资讯请上达梦技术社区了解: https://eco.dameng.com