01-Docker部署MongoDB

命令一键部署

拉取镜像

shell 复制代码
# docker pull mongdo:4.0.3

方式一:

数据为持久化:不挂载容器卷

shell 复制代码
# docker run -itd --name mongo -p 27017:27017 mongo --auth
  • -itd 交互后台运行容器
  • --name 自定义容器名称

创建mongoDB账号

1)进入容器创建数据库访问用户账号密码,并且尝试连接

shell 复制代码
[root@nhk ~]# docker exec -it mongo mongo admin
MongoDB shell version v5.0.5
connecting to: mongodb://127.0.0.1:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2c914490-5b3d-4c44-b85f-abc0963cf2c2") }
MongoDB server version: 5.0.5
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
	https://community.mongodb.com
> 

2)执行mongoDB 语句, 创建mongoDB账号

shell 复制代码
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		},
		"readWriteAnyDatabase"
	]
}

3)使用创建账号进行连接

shell 复制代码
> db.auth("admin","123456")
1

方式二:

数据持久化:挂载容器卷

shell 复制代码
# docker run --name my_mongo -v /opt/data/mongodb:/data/db --rm -d -p 27017:27017 mongo:4.0.3

参数说明:

  • -itd 交互后台运行容器
  • --name 自定义容器名称
  • -p 27017:27017 容器服务的 27017 端口映射到宿主机的 端口 27017,那么外部可以通过 宿主机 IP:27017 访问容器内 mongo。
  • 镜像名
  • --auth 需要密码才能访问容器服务

进入容器

shell 复制代码
# docker exec -it mongo /bin/bash

使用mongo客户端

复制代码
mongo
相关推荐
正经教主8 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
鹤鸣的日常9 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
我是谁??13 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
运维瓦工13 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD13 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
Plastic garden14 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
与海boy14 小时前
docker compose minio
docker·容器·eureka
JimCarter15 小时前
使用Azure Devops Pipeline将Docker应用部署到你的Raspberry Pi上
docker·azure·树莓派·devops·orangepi·香橙派·raspberrypi
武子康15 小时前
调查研究-167 Docker Compose 详解:从单容器到多服务编排的工程化入口
运维·docker·云原生·容器·kubernetes·k8s·docker-compose