MongoDB 是一個(gè)高性能分布式文件存儲(chǔ)數(shù)據(jù)庫
1.拉取并運(yùn)行鏡像
docker pull loongsongd/loongnix-base:1.0
docker run -itd --name mongo --privileged=true loongsongd/loongnix-base:1.0 /usr/sbin/init
docker exec -it mongo /bin/bash
2.安裝軟件包
yum install pcre-devel python-devel scons mogodb -y
3.添加mongodb 用戶和配置
useradd mongodb -M -s /sbin/nologin
創(chuàng)建目錄,根據(jù)需要進(jìn)行自定義
mkdir -pv /etc/mongo //配置文件路徑
mkdir -pv /var/lib/mongo //數(shù)據(jù)存儲(chǔ)路徑
mkdir -pv /var/log/mongo //日志文件路徑
mkdir -pv /var/run/mongodb //Pid 路徑
//將源碼包中的配置文件復(fù)制到 /etc/mongo 下
cp mongodb-src/rpm/mongod.conf /etc/mongo
//給予日志和數(shù)據(jù)路徑mongodb用戶組訪問權(quán)限
chown -R mongodb.mongodb /var/log/mongodb
chown -R mongodb.mongodb /var/lib/mongodb
- 創(chuàng)建并編輯配置文件
touch /etc/mongo/mongod.conf
vi /etc/mongo/mongod.conf
—–配置參考下面的路徑進(jìn)行或查閱配置說明文檔——
dbpath = /var/lib/mongo
logpath = /var/log/mongo
pidfilepath = /var/run/mongodb/mongod.pid
directoryperdb = true
logappend = true
noauth = true
port = 27017
maxConns = 1024
fork = true
rest = true
quota = true
quotaFiles = 1024
nssize = 16
5.配置開機(jī)啟動(dòng)文件
將下列腳本保存為 mongod 并存放在/etc/rc.d/init.d/ 下,并給與執(zhí)行權(quán)限
#!/bin/sh
#
# mongodb init file for starting up the MongoDB server
#
# chkconfig: - 20 80
# description: Starts and stops the MongDB daemon that handles all \
# database requests.
# Source function library.
. /etc/rc.d/init.d/functions
exec="/usr/local/mongo/bin/mongod"
prog="mongod"
logfile="/var/log/mongodb/mongodb.log"
options=" -f /etc/mongo/mongod.conf"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile="/var/lock/subsys/mongod"
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon --user mongodb "$exec --quiet $options run >> $logfile 2>&1 &"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
restart
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?
chmod 777 mongod
service mongodb start
此時(shí)出現(xiàn)報(bào)錯(cuò):Failed to start mongod.service: Unit not found
原因是安裝包缺少配置文件
6.創(chuàng)建配置文件:sudo nano /etc/systemd/system/mongodb.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
再次執(zhí)行service mongodb start

mongodb已成功運(yùn)行
參考:https://www.sulabs.net/?p=359