docker 构建 mongodb

最近需要在虚拟机上构建搭建mongo的docker容器,搞了半天老有错,归其原因,是因为现在最新的mango镜像的启动方式发生了变化,故此现在好多帖子,就是错的。

ok,话不多说:

python 复制代码
# 拉取最新镜像(就是这个镜像,跟原先的已经不一样了,会导致后面启动mango的时候出问题)
docker pull mongo:latest

# 查看一下
docker images

# 创建一个存放数据的目录
mkdir -p ~/data/mongo

# 创建mongodb容器
docker run -p 27017:27017 -v ~/data/mongo:/data/db --name mongodb --restart=always -d mongo

在上面的命令中,几个命令参数的详细解释如下:

-p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务

-v 为设置容器的挂载目录,这里是将本机的"/data/mongo"目录挂载到容器中的/data/db中,作为 mongodb 的存储目录

--name 为设置该容器的名称

-d 用于以后台模式(detached mode)运行容器

python 复制代码
# 启动mongo容器,并直接进入交互模式
docker exec -it mongodb mongosh

或者

docker exec -it mongodb mongosh admin

这里需要注意,启动的时候用的是 mongosh,而不是mongo,这是新版mongo镜像于老版的差异导致的,也就造成了各种帖子不管用的原因了。

python 复制代码
# 切换到admin数据库
use admin

# 创建用户
db.createUser({user: "admin",pwd: "m3206oa20o7a1jg9a5",roles:["root"]})

# 登录认证
db.auth('admin', 'm3206oa20o7a1jg9a5')

# 查看数据库
show dbs
python 复制代码
# 创建数据库并设置密码
use huchi

db.createUser({user: "admin",pwd: "m3206oa20o7a1jg9a5",roles:["readWrite"]})

db.auth('admin', 'm3206oa20o7a1jg9a5')

到这就完成了....

然后,就是使用了,也比较简单:

python 复制代码
db.xx_数据表.insert( { name:"abc", age:22, 'weight': '50斤'} )

这就完事了.....

相关推荐
error:(22 分钟前
【Linux命令从入门到精通系列指南】export 命令详解:环境变量管理的核心利器
linux·运维·服务器
黑金IT27 分钟前
本地 Docker 镜像送上云:腾讯云无服务器与容器化全栈迁移实战
docker·serverless·腾讯云
Yeats_Liao42 分钟前
遗留系统微服务改造(四):从单体到微服务的演进之路
运维·微服务·架构
勇往直前plus1 小时前
CentOS 7 环境下 RabbitMQ 的部署与 Web 管理界面基本使用指南
前端·docker·centos·rabbitmq
2301_793167991 小时前
网络管理部分
linux·运维·服务器·网络·php
序属秋秋秋1 小时前
《Linux系统编程之入门基础》【Linux的前世今生】
linux·运维·服务器·开源·unix·gnu
搬砖的小码农_Sky1 小时前
Windows操作系统上`ping`命令的用法详解
运维·网络·windows
Roam-G2 小时前
在 Mac 上使用 Docker 安装 Milvus 2.6.2
docker·容器·milvus
敲上瘾3 小时前
Docker镜像构建指南:Dockerfile语法与docker build命令全解析
linux·服务器·docker·微服务·容器
YC运维7 小时前
Dockerfile实战案例详解
运维·docker·容器