【问题描述】
在docker容器里安装sdb时报错,报错信息如下:
Error: Error running echo 3 > /proc/sys/net/ipv4/tcp_retries2 : /bin/sh: 1: cannot create /proc/sys/net/ipv4/tcp_retries2: Read-only file system
Press [Enter] to continue:
error message:
Starting sequoiadb database service : sdbcm failed!
Warning: Problem running post-install step. Installation may not complete correctly.
Failed to start cm,execute: service sdbcm start.
【解决办法】
- 该问题是docker在启动ubuntu镜像时未使用priviledged模式。原因在于docker启动ubuntu镜像默认是在non-priviledged模式下,不能对系统参数进行修改,而安装SequoiaDB时需要执行 echo 3 > /proc/sys/net/ipv4/tcp_retries2对网络参数进行修改,因此在启动ubuntu镜像时,需要使用priviledged模式。
解决方案:
1) 使用docker运行ubuntu镜像,构造ubuntu操作系统环境,并将SequoiaDB安装包拷贝到ubuntu镜像目录中:#启动ubuntu镜像,并将容器命名为sdb_ubuntu docker run -it --privileged=true --name sdb_ubuntu -h sdb Ubuntu #查看上述启动的容器、 docker ps -a #将SequoiaDB安装包从宿主系统拷贝到ubuntu镜像操作系统目录中 docker cp sequoiadb-*-installer.run 14c8de16d598:/opt
2) 进入到ubuntu镜像运行环境中。