您的位置:首页 > 财经 > 产业 > linux中使用docker安装mongodb

linux中使用docker安装mongodb

2024/11/16 10:13:48 来源:https://blog.csdn.net/qq_56661788/article/details/140573373  浏览:    关键词:linux中使用docker安装mongodb

随着容器的普及,越来越多服务都喜欢跑在容器中,并且安装也很方便快捷,接下来一起看下linux中使用docker来安装mongodb吧!

1.首先安装docker;

使用Yum 进行安装,我安装docker比较喜欢参考阿里云中的安装步骤,并且最近国内的镜像停止维护了,导致拉去镜像的时候出现问题,那么可以配置下阿里云的镜像加速器或许有很大的帮助;

阿里云安装docker

主要步骤如下(centos 7):

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

镜像加速器配置方法:

登录阿里云,开通容器镜像服务,进入控制台

根据这里边的步骤即可配置镜像加速器,建议安装完docker之后就配置上

 安装完并启动docker之后,可以拉去mongodb的镜像:

docker pull mongo   

我这里没有加版本号,默认拉取最新版;

查看镜像列表:

docker images

因为mongodb是NOSQL,所以他的数据也是比较重要的,所以做个持久化,也就是将容器中的数据映射到机器上;

创建存放数据、日志、配置文件的目录:

mkdir /data/mongo/config -p
mkdir /data/mongo/data
mkdir /data/mongo/logs

创建配置文件:

touch /data/mongo/config/mongod.conf

/data/mongo   赋予权限

chmod 777 /data/mongo

修改配置文件:

vim /data/mongo/config/mongod.conf 
# 数据库存储路径
dbpath=/data/mongo/data# 日志文件路径
logpath=/data/mongo/logs/mongod.log# 监听的端口
port=27017# 允许所有的 IP 地址连接
bind_ip=0.0.0.0# 启用日志记录
journal=true# 是否后台运行
fork=true# 启用身份验证
#auth=true

启动容器:

docker run -itd --name mongo -p 17017:27017 -v /data/mongo/config/mongo.conf:/etc/mongod.conf -v /data/mongo/data:/data/db -v /data/mongo/logs:/var/log/mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 --restart=always mongo

命令解释:

    docker run:运行 Docker 容器的命令。
    -itd:以守护进程模式运行容器,并在容器内分配一个伪终端。
    --name mongo:为容器指定一个名称。
    -p 17017:27017:将容器的 27017 端口映射到主机的 17017 端口,允许外部访问 MongoDB 数据库。
    -v /data/mongo/config/mongod.conf:/etc/mongod.conf:将主机上的/data/mongo/config/mongod.conf文件挂载到容器的/etc/mongod.conf位置,作为 MongoDB 的配置文件。
    -v /data/mongo/data:/data/db:将主机上的/data/mongo/data目录挂载到容器的/data/db位置,作为 MongoDB 的数据存储目录。
    -v /data/mongo/logs:/var/log/mongodb:将主机上的/data/mongo/logs目录挂载到容器的/var/log/mongodb位置,作为 MongoDB 的日志存储目录。
    -e MONGO_INITDB_ROOT_USERNAME=admin:设置 MongoDB 初始化时的 root 用户名为admin。
    -e MONGO_INITDB_ROOT_PASSWORD=123456:设置 MongoDB 初始化时的 root 密码为123456。
    --restart=always:容器在退出后总是自动重启。
    mongo:指定要运行的 Docker 镜像为 MongoDB。

启动完成之后会看到Mongo容器正在运行

 进入容器中:

docker exec -it mongo /bin/bash

 输入  mongo 连接mongodb数据库;

使用admin账户 连接:

use admin

切换完之后,开始进行用户认证:

db.auth("admin","123456")    -----这个是刚才我们在创建容器时已经指定好的环境变量;

 返回结果为1 则证明是ok的;

接下来创建一个测试用户:

db.createUser({user:'testuser',pwd:'123456',roles:[{role:'root',db:'admin'}]});

尝试使用新用户连接:

db.auth('testuser','123456')

展示用户总个数:

show users;

 到此安装完成,请开始接下来的学习

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com