要在Docker中安装MongoDB并确保数据、日志和配置文件的持久化,我们就得像个巧匠一样,精准地搭建我们的数据小屋。以下是把MongoDB嵌入Docker容器的“施工方案”。
首先,你得有Docker这个神奇的工具箱。考虑到我们是严肃的“施工队”,我们得跳过开箱仪式,直接拿起“工具”。
拉取MongoDB镜像
打开你的命令行界面,像呼唤一位老朋友一样,喊出:
docker pull mongo
这会从Docker Hub的架子上取下最新版的MongoDB容器。
创建持久化存储
我们需要为MongoDB准备三个持久化舞台:数据、日志和配置。
数据盘:你的宝贵数据将在这里闪闪发光,无论风吹雨打。
mkdir -p /my/own/datadir
日志本:MongoDB的日记本,它会记录下它每天的喜怒哀乐。
mkdir -p /my/own/logdir
配置册:MongoDB的心得笔记,它里面有运行的秘诀。
mkdir -p /my/own/confdir echo 'systemLog:' > /my/own/confdir/mongod.conf echo ' destination: file' >> /my/own/confdir/mongod.conf echo ' path: "/var/log/mongodb/mongod.log"' >> /my/own/confdir/mongod.conf echo ' logAppend: true' >> /my/own/confdir/mongod.conf echo 'storage:' >> /my/own/confdir/mongod.conf echo ' dbPath: "/data/db"' >> /my/own/confdir/mongod.conf echo 'net:' >> /my/own/confdir/mongod.conf echo ' port: 27017' >> /my/own/confdir/mongod.conf echo ' bindIp: "0.0.0.0"' >> /my/own/confdir/mongod.conf
搬运MongoDB镜像到新家
现在我们得将MongoDB“搬进”我们刚准备好的存储空间里。我们要告诉Docker,用我们的命令行起重机怎样来搞定这件事:
docker run --name some-mongo -v /my/own/datadir:/data/db -v /my/own/logdir:/var/log/mongodb -v /my/own/confdir:/etc/mongo -d mongo --config /etc/mongo/mongod.conf
这串咒语的意思是:Docker,拿起这个MongoDB的盒子(
docker run --name some-mongo
), 将我的数据盘(/my/own/datadir:/data/db
), 日志本(/my/own/logdir:/var/log/mongodb
), 配置册(/my/own/confdir:/etc/mongo
)装进MongoDB的房子里面去,并用我的配置册启动它(--config /etc/mongo/mongod.conf
)。检查MongoDB的新家是否安静舒适
如果你跟着指南一步步来,MongoDB现在应该已经在它的新家里安定下来。你可以通过以下命令来偷偷窥探下它是否开心:
docker logs some-mongo
如果看到它在日志里唱歌(也就是打印出启动日志),那说明我们的巧手搬运是成功的!
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
云服务器/高防CDN推荐
蓝易云国内/海外高防云服务器推荐
海外免备案云服务器链接:www.tsyvps.com
蓝易云安全企业级高防CDN:www.tsycdn.com
持有增值电信营业许可证:B1-20222080【资质齐全】
蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。