首页软件使用教程怎么在Docker容器中安装MongoDB?

怎么在Docker容器中安装MongoDB?

2024-07-22 50

MongoDB是一个由C++编写的分布式文件存储数据库,以其用户友好性和易用性而闻名,在现代应用程序开发中很受欢迎。本篇教程主要介绍如何在Docker容器中安装MongoDB,希望能够帮到大家。

一、MongoDB概述

MongoDB是一个开源的非关系数据库管理系统,使用类似JSON的文档来存储数据,与传统的关系数据库相比具有更大的通用性。MongoDB简化了开发人员在使用各种编程语言创建应用程序时存储、管理和访问数据的过程,因此在在全球范围内广受欢迎。

与其他关系数据库不同,MongoDB数据库在添加或修改字段以及其他功能上简单易用,如果开发人员需要快速调整应用程序,MongoDB提供了良好的自适应数据模型,开发人员可专注于编写应用程序本身,并相应地调整架构。

二、MongoDB功能

1、面向文档

2、无模式设计

3、丰富的查询语言

4、灵活的数据模型

三、安装MongoDB先决条件

1、访问命令行

2、正在运行的Docker实例

四、在Docker容器中安装MongoDB

Docker平台因其独立性、轻量级、易于扩展、负载均衡和资源隔离等功能而备受青睐。以下是在Docker容器中安装MongoDB的详细步骤。

1、准备安装Docker

在配置Docker以运行MongoDB实例之前,请确保验证Docker的版本,以检查它是否已安装在计算机上。可以通过以下命令检查系统上安装的Docker客户端和服务器组件:

# Check docker version
docker version

2、检索MongoDB Docker镜像

接下来,需要从Docker Hub存储库获取MongoDB的最新镜像。如果需要特定版本的MongoDB,可以指定版本号。

# Pull latest mongodb image 
docker pull mongo:latest

执行此命令时,Docker会在Docker Hub注册表中搜索MongoDB镜像,并将其下载到本地计算机。同时,还会获取在容器化环境中运行MongoDB实例所需的所有必需库和包。

3、在Docker中启动MongoDB映像

获取MongoDB映像后,可以使用Docker run命令启动容器化的MongoDB实例。以下是将MongoDB映像作为容器执行的命令:

# Run MongoDB image as a container
docker run -d --name mongodb -p 27017:27017 mongo

在这里,-d标志使容器在后台启动,允许它在分离模式下运行。–name选项为新容器分配一个名称,本例中为“mongodb”。-p标志帮助实现容器的指定端口与主机系统上相应端口之间的端口映射。此配置允许通过主机系统的IP地址和端口号访问容器中的MongoDB实例。

4、检查容器是否正在运行

要确认容器当前是否处于活动状态,可以使用docker ps命令。此命令提供系统上当前运行的所有Docker容器的完整列表。

# Docker containers list
docker ps

5、在MongoDB和Docker容器之间建立连接

要连接到Docker容器中的MongoDB shell,请使用以下命令:

docker exec –it <container id> or <container name>

执行时,Docker会在活动的mongodb容器中启动一个新进程,启动MongoDB shell(mongosh),并与容器内运行的MongoDB实例建立连接,从而方便在Docker中设置MongoDB。

在此命令中:

  • exec选项指定在已执行的Docker容器中运行命令;
  • 使用-it选项时,该命令在交互模式下执行;
  • “MongoDB”是正在运行的容器的名称;
  • “mongosh”是指将在容器内执行的MongoDB shell。

随后,MongoDB Shell(mongosh)在容器中启动,该容器已准备好接收和执行命令。

6、确认MongoDB命令执行

要验证命令是否在Docker容器中执行,请执行MongoDB你好命令。这一关键步骤确保MongoDB在Docker容器中正常运行。

# Validation
db.runCommand({hello:1})

现在,可以在Docker容器上安装MongoDB,并且已经掌握了访问MongoDB以管理数据库所需的技能。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章