【DM版本】: DM Database Server x64 V8 1-1-144-20.11.06-129436-ENT
【操作系统】:Docker
【CPU】: x86
【问题描述】*:
使用/dm8/bin/dminit 创建新数据库实例失败
Dockerfile:
FROM dameng
USER 1000
WORKDIR /dm8/data
RUN /bin/bash -ic '/dm8/bin/dminit PAGE_SIZE=16 PATH=/dm8/data\
DB_NAME=test INSTANCE_NAME=test\
CHARSET=1'
CMD /dm8/bin/dmserver /dm8/data/joyoj/dm.ini
其中 dameng/image
是用以下命令生成:
docker import dm8_docker.tar dameng
运行 docker build .
命令后,报以下错误:
docker docker build .
Sending build context to Docker daemon 5.632kB
Step 1/5 : FROM dameng/image
---> 33dc241ab8a3
Step 2/5 : USER 1000
---> Using cache
---> 25e0a9dc88eb
Step 3/5 : WORKDIR /dm8/data
---> Using cache
---> f8a5093ac5b4
Step 4/5 : RUN /bin/bash -ic '/dm8/bin/dminit PAGE_SIZE=16 PATH=/dm8/data
DB_NAME=test INSTANCE_NAME=test CHARSET=1'
---> Running in b9ae9aba0854
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
License will expire on 2022-09-25
create dir '/dm8/data/test' failed
File '' has already exist!
The command '/bin/sh -c /bin/bash -ic '/dm8/bin/dminit PAGE_SIZE=16 PATH=/dm8/data
DB_NAME=test INSTANCE_NAME=test CHARSET=1'' returned a non
-zero code: 255
其中的路径/dm8/data
存在
/dm8/data/test
不存在
docker达梦run操作默认会初始化实例,暂不支持单容器多实例,若需要不同参数的实例,建议重新以run命令拉起新容器进程;进行run操作的时可以借鉴以下命令对实例参数进行初始化:
docker run -d
-p 31880:8080
-p 30236:5236
–restart=always
–name dm8_uaadb
-e LD_LIBRARY_PATH=/opt/dmdbms/bin
-e CHARSET=1
-e PAGE_SIZE=32
-e DB_NAME=test -e
INSTANCE_NAME=dm8_uaadb
-v /home/mnt/disks/dm8_uaadb:/opt/dmdbms/data
-v /root/war/dm8.key:/opt/dmdbms/bin/dm.key
dm8_docker.tar