如何使用Docker安装一个MongoDB最新版

1 安装

本文假设大家已经安装好了docker并能正常使用,所以不讲解如何安装docker了。用docker安装MongoDB最新版本如下:

# 从repository查找mongo的相关镜像,结果很多,其中第一条为官方的镜像
$ docker search mongo
# 下载官方镜像的最新版本
$ docker pull mongo:latest
# 完成后,检查是否下载成功
$ docker images
REPOSITORY   TAG     IMAGE ID   CREATED    SIZE
centos    7     5e35e350aded  12 days ago   203MB
mongo    latest    965553e202a4  3 weeks ago   363MB
hello-world   latest    fce289e99eb9  10 months ago  1.84kB

仅需要简单几个命令,我们就拥有了MongoDB的最新镜像了,后续就可以使用了。

2 启动

完成MongoDB的镜像下载后,启动就非常简单了,一个命令即可:

$ docker run -itd --name mongo -p 27017:27017 mongo --auth
305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c

(1)--name后面的参数为docker容器名;

(2)-p后面是端口映射,即宿主端口:容器端口

(3)--auth是否开始鉴权,如果不想开启可以去掉;

成功启动MongoDB一个实例后,会返回容器ID,如305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c

通过命令docker ps可以查看正在运行的容器,经过检查,确实已经起来了。

注意:默认数据是存在容器系统的/data/db目录下的,如果需要使用自定义的宿主机器目录,可以在启动命令加上参数:

-v /my/own/datadir:/data/db

3 创建用户与集合

3.1 进入容器

容器起来后,下一步是进入容器:

# 进入容器可以用以下两种方法
# 分别是通过容器名和容器ID
$ docker exec -it mongo bash
$ docker exec -it 305ebd823667 bash

上面进入容器后,其实是进入了容器的系统,并打开bash

3.2 通过客户端命令连接数据库

接着通过mongo命令连接到MongoDB的数据库服务。

# 默认连接本地的27017端口的MongoDB
$ mongo
# 指定IP与端口进行连接
$ mongo 127.0.0.1:27017
# 指定用户名和密码连接到指定的MongoDB数据库
$ mongo 127.0.0.1:27017/admin -u user -p password

连接数据库成功后,会返回一些信息,如SeesionID和版本号等。

3.3 查看版本

(1)在linux命令通过mongo --version查询;

(2)连接上数据库后,通过db.version()查询。

root@305ebd823667:/# mongo --version
MongoDB shell version v4.2.1
git version: edf6d45851c0b9ee15548f0f847df141764a317e
OpenSSL version: OpenSSL 1.1.1 11 Sep 2018

root@305ebd823667:/# mongo
> db.version()
4.2.1

3.4 创建admin管理用户

连上数据库后,我们先创建一个admin用户,用以管理其它用户:

> use admin
switched to db admin
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}
> 

3.5 创建具有读写权限的用户

根据业务需求,创建不用的用户,如下面创建拥有读写权限的用户user:

> db.auth('admin','123456');
1
> db.createUser({ user:'user',pwd:'123456',roles:[ { role:'readWrite', db: 'testdb'}]});
Successfully added user: {
	"user" : "user",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "testdb"
		}
	]
}
> 

3.6 认证用户并操作

> db.auth('user','123456')
1
> use testdb
switched to db testdb
>
> db.person.insert({name:'Larry',age:18})
WriteResult({ "nInserted" : 1 })
> db.person.find({})
{ "_id" : ObjectId("5ddaa14edbbac3c4f844366c"), "name" : "Larry", "age" : 18 }
> 

4 两款优秀的可视化工具

通过前面的操作,我们已经建立了用户,并尝试创建了数据库和集合。但通过命令行来操作总是不那么方便,我们需要可视化软件来进行操作。下面将介绍两款优秀的可视化软件,展示如何连接。如何进行CRUD等操作就不一一介绍了,还是比较友好的,容易使用。

4.1 Robo3T

官网

创建连接:

注意下面填的是鉴权数据库,而不是用户的数据库:

操作界面:

4.2 IDEA Mongo Plugin

GitHub官网

这个是支持JetBrains全系列软件的插件,IDEA当然也可以安装。

连接设置:

注意下面的User Database是该用户下的数据库,写错了会连不上。

注意下面Auth Database为鉴权的数据库,默认为admin。

操作界面:

总结

本文介绍了通过Docker安装最新版的MongoDB,并通过例子演示了如何运行和创建用户与集合,最后还介绍了两款非常友好的可视化工具,希望能带没有接触过的人入个门吧。

(0)

相关推荐

  • docker中使用mongodb数据库详解(在局域网访问)

    前言 有了docker,基本上就告别了各种软件.数据库的安装,直接从镜像库pull下来,爽,想想以前那真是一个遭罪啊. 这文章就来看一下如何跑mongo的docker镜像,并且可以在局域网访问,内容相对简单,也是记录我的自学过程. 第一步 获得mongo镜像,命令如下, # 拉取mongo镜像 docker pull mongo # 查看本地库mongo镜像 docker images mongo 第二步 启动mongo镜像,如下 # 启动mongo镜像 docker run -itd -P -

  • Docker容器化部署尝试——多容器通信(node+mongoDB+nginx)

    原因是这样的 想要部署一个mocker平台,就在朋友的推荐下选择了 api-mocker 这个现成的项目 该项目分为服务端node.客户端vue.以及数据库mongoDB 在尝试直接部署的时候发现需要装一大堆的环境,node.mongo.nginx啊,特别的麻烦,之前简单的使用过docker,就在想能不能用docker免环境直接部署呢?于是就有了这次的尝试 多容器通信 该项目分为3个部分,于是就要建立3个容器(node.mongo.nginx) 那容器之间怎么实现通信呢? # 通过link指令建

  • Springboot整合MongoDB的Docker开发教程全解

    1 前言 Docker是容器开发的事实标准,而Springboot是Java微服务常用框架,二者必然是会走到一起的.本文将讲解如何开发Springboot项目,把它做成Docker镜像,并运行起来. 2 把Springboot打包成Docker镜像 Springboot的Web开发非常简单,本次使用之前讲解过的Springboot整合MongoDB的项目,请参考 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式,文章中有源码:MongoDB的安装请参考:用Docker安装

  • 基于Docker的MongoDB实现授权访问的方法

    基于Docker部署一个数据库实例通常比直接在服务器上安装数据库还要简单,Gevin在开发环境中经常使用基于docker的数据库服务,docker也渐渐成为Gevin在Linux上安装MongoDB的首选方式,由于MongoDB默认是不用通过认证就能直接连接的,出于安全考虑,在公网上部署MongoDB时,务必设置authentication机制,以避免类似 "黑客赎金" 问题的发生. 那么,基于Docker拉起的MongoDB,如何实现通过用户名密码访问指定数据库呢?方法很简单,但前提

  • 如何使用Docker安装一个MongoDB最新版

    1 安装 本文假设大家已经安装好了docker并能正常使用,所以不讲解如何安装docker了.用docker安装MongoDB最新版本如下: # 从repository查找mongo的相关镜像,结果很多,其中第一条为官方的镜像 $ docker search mongo # 下载官方镜像的最新版本 $ docker pull mongo:latest # 完成后,检查是否下载成功 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE cento

  • 使用Docker安装phabricator的配置和使用方法

    我这里使用的是ubuntu16.04的系统. 使用docker进行安装 我们使用https://hub.docker.com/r/redpointgames/phabricator/ 中提供的镜像. 在则这个镜像中已经为我们提供了多种插件,不过需要我们自己提供一个mysql数据库的地址. 所以我们可以先使用docker安装一个mysql数据库.可以参考:https://www.jb51.net/article/148880.htm 按照上面的教程,我们安装了mysql,账号为root,密码为12

  • Docker安装MongoDB并使用Navicat连接的操作方法

    目录 MongoDB简介: 查看可用的MongoDB版本: 拉取最新版本的MongoDB镜像: 验证MongoDB镜像是否成功拉取到本地: 参数说明: 解决无法正常执行mongo命令问题 添加MongoDB连接用户和密码: 1.进入创建的MongoDB容器 2.创建MongoDB用户 服务器配置27017的开放端口: Navicat连接mongoDB 1.连接MongoDB点击这个位置 2.连接参数介绍: MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨

  • 详解linux 使用docker安装mongodb方法

    1.xshell远程到一台安装了docker和docker-conpose的服务器(安装方法见其他学习文件) 2.到home目录下新建Mongotest文件夹,进入这个文件夹,执行vi docker-compose.yml,插入如下内容 ,退出并保存 3.执行docker-compose up -d 然后添加防火墙:firewall-cmd --add-port=27017/tcp --permanent 重启防火墙:firewall-cmd --reload 4.查看进程 docker ps

  • Docker安装及阿里云镜像加速器的配置方法

    Docker安装 Windows系统安装就不用说了,因为Docker是开源的,所以,直接去官网:https://www.docker.com/下载安装包安装就行了 其实,Linux系统安装也很简单,照着官网给的命令一通写下来,就安装成功了,然后启动服务,就可以使用了,比如:我的系统是CentOS7,它的安装如下: 首先来到CentOS安装Docker的官网说明文档:https://docs.docker.com/engine/install/centos/ 我原来没安装过其他版本的Docker,

  • Docker 安装 MySQL 并实现远程连接教程

    拉取镜像 docker pull mysql 查看拉取完成的镜像 docker images 通过镜像创建并启动一个MySQL容器 docker run --name mysql_dev -e MYSQL_ROOT_PASSWORD=123456 -p 3333:3306 -d mysql –name:给新创建的容器命名,此处命名为 mysql_dev -e:配置信息,此处配置mysql的root用户的登陆密码 -p:端口映射,此处映射主机3333端口到容器mysql_dev的3306端口 -d

  • docker安装pxc集群的详细教程

    前言 现在mysql自建集群方案有多种,keepalived.MHA.PXC.MYSQL主备等,但是目前根据自身情况和条件,选择使用pxc的放来进行搭建,最大的好处就是,多主多备,即主从一体,没有同步延时问题,方便易用. 本人使用过,直接安装pxc和docker容器方式的安装,个人觉得docker下安装更为方便,也更易维护,所以也推荐大家使用此方式. 搭建环境 环境 centos7 pxc版本镜像:最新版,目前为8.0+ 主机ip 部署 swarm 172.16.9.40 pxc1 manage

  • 使用Docker安装SonarQube的详细教程

    目录 1.拉取镜像 1.1拉取相关镜像并运行 1.1.1拉取相关镜像 1.1.2运行镜像 1.2保存并提交已修改的镜像 2.安装成功 3.插件安装 3.1安装Chinese插件 4.docker安装gitlab 4.1.Gitlab镜像拉取 4.2运行gitlab镜像 4.3设置root用户名和密码 4.4保存镜像并推送dockerhub 5.碰到的问题 5.1虚拟内存不够 6.整合Sonar和gitlab 6.1安装Gitlab-runner 6.1.1获取gitlab-Token 6.1.2

  • Docker安装Redis容器的实现步骤

    目录 Docker 安装Redis 1.寻找Redis镜像 2.下载Redis镜像 3.创建Redis配置文件 4.创建Redis容器并启动 5.查看Redis是否运行 6.进入Redis容器 7.退出容器 8.Redis 配置文件修改 9.进入有密码的Redis控制台 Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像. Docker 镜像仓库 Docker 安装Redis 1.寻找Redis镜像 在Docker镜像仓库寻找Redis镜像 Docker 下载Redis镜像

  • Docker安装配置MySQL的实现步骤

    目录 前言 环境 安装 创建并启动MySQL容器 提醒 创建并启动MySQL容器命令 参数说明: 进入到MySQL容器内部进行配置 进入命令 连接MySQL 更改MySQL密码 测试连接 前言 MySQL 是世界上最受欢迎的开源数据库,So~本文将演示如何在Docker上安装并且配置MySQL. 环境 CentOS 7 Docker 20.10.10 安装 拉取镜像 docker pull mysql 如果要指定版本,在mysql后面加上:+版本号,例如: docker pull mysql:8

随机推荐