docker(centos7)中安装mongodb

本文详细记录了在Docker容器内安装MongoDB的过程,包括创建容器、配置映射端口、解决连接问题等关键步骤。

记录docker中安装mongodb的过程。一般采用mongodb镜像直接安装。我采用的是创建一个docker容器,在容器中安装mongdb。
1、创建centos7容器。安装docker和下载centos7镜像的过程省略,前面介绍docker的时候已经写过。创建容器命令为
docker run -tid -p 27018:27017 3db94df3e006 /usr/sbin/init 。读者请执行文字上的命令,如果执行下图的创建容器的命令会很麻烦,后面第7步会有说明。
在这里插入图片描述
2、对上面创建的容器重命名,启动容器,并将下载好的mongodb复制到想要安装的目录
在这里插入图片描述
3、进入容器,解压mongdb压缩文件
在这里插入图片描述
4、由于解压后的文件夹名字太长,这里重命名一下。在这里插入图片描述
5、由于解压后的mongdodb只有bin文件夹,我们这里增加一个配置文件,每次启动读取指定配置文件就可以,而不用每次启动指定一堆参数。下图的mongodb.conf文件是需要用户自己创建的。一定要创建dbpath和logpath指定的目录路径的文件夹,否则无法启动! mongodb不会自动创建文件夹和文件。
mkdir -p /home/mongodb/data/db
mkdir -p /home/mongodb/data/logs
touch mongodb.logs
在这里插入图片描述
6、启动mongodb。如果没有顺利启动,尝试检查mongodb.conf中指定创建的文件夹和文件是否已经正确创建。
在这里插入图片描述
7、到这里,mongodb就启动了,但是工具还是连不上的,因为我创建容器的时候没有进行端口映射,还需要进行本地服务器与docker容器的端口进行映射。如果读者按照的第一步说的命令,就不会存在这个问题了。前提工作:由于新创建的linux容器,所以这里需要安装工具包,否则ifconfig命令等用不了。命令:yum install net-tools.x86_64 我新创建的容器的ip是172.17.0.2。记得要用exit命令退出容器后在服务器中执行下面的映射命令。 由于我27017端口已使用,所以这里把容器的27017端口映射到服务器的27018端口这里是一连串的命令,且暂时我也不知道该如何永久保存。以下方式并不推荐。
iptables -A DOCKER ! -i docker0 -o docker0 -p tcp --dport 27017 -d 172.17.0.2 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 27017 -s 172.17.0.2 -d 172.17.0.2 -j MASQUERADE
iptables -t nat -A DOCKER ! -i dokcer0 -p tcp --dport 27018 -j DNAT --to-destination 172.17.0.2:27017

拓展:
a、查看iptables表中的Docker规则,并显示行号
iptables -t nat -vnL DOCKER --line-number
b、删除docker中的规则
iptables -t nat -D DOCKER 4 其中4表示行号,删除指定行规则

8、工具连接。
在这里插入图片描述
提醒:创建容器的时候最好还是指定ip端口映射,对应着我上面的第一步。

要在CentOS 7上使用Docker安装MongoDB,你可以按照以下步骤进行操作: 1. 首先,使用以下命令在CentOS 7安装Docker: ``` sudo yum install docker -y ``` 2. 安装完成后,启动Docker服务: ``` sudo systemctl start docker ``` 3. 下载MongoDBDocker镜像: ``` sudo docker pull mongo:4.2 ``` 4. 创建一个用于存储MongoDB配置文件的目录: ``` sudo mkdir /opt/mongoconfig ``` 5. 使用以下命令将MongoDB的配置文件复制到创建的目录中: ``` sudo docker run -it --rm mongo:4.2 cat /etc/mongod.conf.orig > /opt/mongoconfig/mongod.conf ``` 6. 运行MongoDB容器,并将配置文件挂载到容器中: ``` sudo docker run -d -p 27017:27017 --name mongodb -v /opt/mongoconfig/mongod.conf:/etc/mongod.conf mongo:4.2 ``` 7. 接下来,你可以使用以下命令连接到MongoDB容器: ``` sudo docker exec -it mongodb mongo -u admin -p "Admin@123" --authenticationDatabase admin ``` 这样,你就成功在CentOS 7上使用Docker安装MongoDB。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【mongoDBCentOS7.x上使用docker安装mongoDB单机版](https://blog.youkuaiyun.com/michaelwoshi/article/details/108966006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值