docker images

This commit is contained in:
allencai
2026-01-22 10:46:47 +08:00
parent b9d2e0e43a
commit c54eea076a
22 changed files with 468 additions and 0 deletions
Binary file not shown.
+29
View File
@@ -0,0 +1,29 @@
FROM ubuntu:22.04
ENV DM8_TMP_PATH="/dm8-tmp"
RUN mkdir -p ${DM8_TMP_PATH}
COPY DMInstall.bin ${DM8_TMP_PATH}/
COPY install_setting.xml ${DM8_TMP_PATH}/
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x ${DM8_TMP_PATH}/DMInstall.bin
RUN chmod +x /entrypoint.sh
RUN useradd -m dmdba
RUN ${DM8_TMP_PATH}/DMInstall.bin -q ${DM8_TMP_PATH}/install_setting.xml
RUN rm -rf ${DM8_TMP_PATH}
RUN mkdir -p /init.db
WORKDIR /
EXPOSE 5236
ENTRYPOINT ["sh","-c","/entrypoint.sh"]
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
docker build -t dmdb:8 .
BIN
View File
Binary file not shown.
+56
View File
@@ -0,0 +1,56 @@
#!/bin/bash
set -e
DM_PATH="/opt/dmdbms"
DM_DATA_PATH="${DM_PATH}/data"
DB_NAME="DAMENG"
DM_INI_PATH="${DM_DATA_PATH}/${DB_NAME}/dm.ini"
DM_INIT_PWD="${DM_INIT_PWD:-Aa123456}"
DM_LICENSE_PATH="/license/dm.key"
mkdir -p ${DM_DATA_PATH}
chown -R dmdba ${DM_PATH}
if [ ! -f "$DM_INI_PATH" ]; then
echo "初始化数据库..."
su - dmdba -c "${DM_PATH}/bin/dminit PATH=${DM_DATA_PATH} DB_NAME=${DB_NAME} SYSDBA_PWD=${DM_INIT_PWD} SYSAUDITOR_PWD=${DM_INIT_PWD}"
if -f "$DM_LICENSE_PATH"; then
echo "复制许可证..."
cp $DM_LICENSE_PATH ${DM_PATH}/bin/dm.key
chown dmdba ${DM_PATH}/bin/dm.key
fi
echo "启动 DM Server..."
su - dmdba -c "${DM_PATH}/bin/dmserver ${DM_INI_PATH} &"
echo "等待 DM Server 启动..."
until $DM_PATH/bin/disql SYSDBA/${DM_INIT_PWD}@localhost:5236 -e "select 1 from dual;" >/dev/null 2>&1; do
sleep 1
done
echo "DM server is ready."
echo "执行初始化 SQL..."
for sql_file in /init.db/*.sql; do
echo "执行 $sql_file..."
$DM_PATH/bin/disql SYSDBA/${DM_INIT_PWD}@localhost:5236 \`${sql_file}
done
echo "初始化完成."
else
if -f "$DM_LICENSE_PATH"; then
echo "复制许可证..."
cp $DM_LICENSE_PATH ${DM_PATH}/bin/dm.key
chown dmdba ${DM_PATH}/bin/dm.key
fi
echo "数据库已存在,直接启动..."
su - dmdba -c "${DM_PATH}/bin/dmserver ${DM_INI_PATH} &"
fi
tail -f /dev/null
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0"?>
<DATABASE>
<LANGUAGE>EN</LANGUAGE>
<TIME_ZONE>+08:00</TIME_ZONE>
<!-- key 文件路径 -->
<KEY></KEY>
<!--安装程序组件类型,取值范围:0、1、2,0 表示安装全部,1 表示安装服务器,2 表示安装
客户端。缺省为 0 -->
<INSTALL_TYPE>0</INSTALL_TYPE>
<!--安装路径,不允许为空。合法的安装路径允许字符的范围是小写字母(a-z)、大写字母(A-Z)、
数字(0-9)、下划线(_)、空格( )和中文 -->
<INSTALL_PATH>/opt/dmdbms</INSTALL_PATH>
<!--是否初始化库,取值范围:Y/N、y/n,不允许为空 -->
<INIT_DB>n</INIT_DB>
</DATABASE>