1、在银河麒麟V10(飞腾2000+ ARM)设备下,先下载一个镜像,我这里选择了centos;
docker pull centos:centos7.9.2009
2、启动一个容器;
sudo docker run -itd --name dm8 -p 5236:5236 -v /sys/fs/cgroup:/sys/fs/cgroup --privileged=true --restart=always centos:centos7.9.2009 /usr/sbin/init
注意:标注红色的部分必须加上,否则会导致达梦服务无法启动
3、安装必要的组件及其升级,我执行了下面这些命令;
yum update
yum install unzip -y
yum install make
yum install gcc -y
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
yum install -y bison
4、升级make
wget http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
tar -xzvf make-4.2.tar.gz
cd make-4.2
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/bin/make
sudo cp ./make /usr/bin/
make -v
5、升级glibc-2.28
wget https://mirror.bjtu.edu.cn/gnu/libc/glibc-2.28.tar.xz
tar -xf glibc-2.28.tar.xz -C /usr/local
cd /usr/local/glibc-2.28/
mkdir build
cd build/
sudo ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make //make 运行时间较长,可能会有半小时
make install
6、下载达梦安装包,我下载的是这个
dm8_20220723_FTarm_kylin10_sp1_64_ent.zip
7、按照达梦官方文档,进行安装即可;
安装前准备 | 达梦技术文档
我只是在配置实例过程中,将path=/dm/data 改成了 path=/home/dmdba;其他完全一样操作。
8、安装完成后,记得删除这些安装包;
dm8_20220723_FTarm_kylin10_sp1_64_ent.zip
dm8_20220723_FTarm_kylin10_sp1_64_ent 这是解压的文件夹
glibc-2.28.tar.xz
make-4.2.tar.gz
9、同时umount挂载的路径
umount -l /mnt
10、将容器保存为镜像,再次用新镜像进行容器创建,完美。
sudo docker commit dm8 dm8:v2.0
docker run -itd --name dm8_c -p 15236:5236 -v /sys/fs/cgroup:/sys/fs/cgroup --privileged=true --restart=always dm8:v2.0 /usr/sbin/init
你可能会遇到如下错误
【问题1】
Aug 23 06:38:13 66a44f5c13f3 DmAPService[2649]: /dm8/bin/dmap: /lib64/libc.so.6:
version `GLIBC_2.28' not found (required by ./libdmos.so)
Aug 23 06:38:13 66a44f5c13f3 systemd[1]: DmAPService.service: control proc
ess exited, code=exited status=1
对应解决方案:上述步骤3、4、5
【问题2】
New main PID 182 does not belong to service, and PID file is not owned by ro
对应解决方案:上述步骤2