如何在 Docker 中运行 Mongodb

 更新时间:2024年10月11日 17:23:45   作者:前端 贾公子  
本文详细介绍了如何在Docker中安装并运行MongoDB,包括安装Docker,下载Mongo镜像,创建容器,连接数据库和数据持久化的方法,通过具体的命令和步骤,使用户能够顺利在Docker中部署MongoDB服务

本篇内容,详细介绍如何在 docker 中运行 mongo 的 文章中用到了较多的 docker 命令以及概念

安装 docker

(已经安装了 docker,可以跳过此步骤...)

ubuntu 可以参考这篇教程安装:Install Docker Engine on Ubuntu

查看 docker 的版本:

$ sudo docker --version
[sudo] password for pengfei:
Docker version 20.10.18, build b40c2f6

下载,运行 mongo 镜像

1)在 docker hub 中下载 mongo 镜像:

sudo docker pull mongo

2)确保安装了 mongo 镜像

$ sudo docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mongo         latest    1cca5cf68239   2 days ago      695MB
hello-world   latest    feb5d9fea6a5   12 months ago   13.3kB

3)创建 docker 容器

使用下载的 mongo 镜像创建容器,并释放 27017 端口,这样我们可以通过本机的 27017 端口访问运行的 mongo 数据库服务,--name 指示要启动的容器名称。

$ sudo docker run -p 27017:27017 --name mongodb -d mongo

启动 mongodb 后,本机可以使用 studio 3T 等数据库可视化客户端,连接到 localhost:27017 来连接数据库。

查看正在运行的 docker 容器:

$ sudo docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                           NAMES
a05a1533b628   mongo     "docker-entrypoint.s…"   17 minutes ago   Up 17 minutes   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp   mongodb

可以看到 mongodb 容器正在运行。

停止 mongo 容器运行:

$ sudo docker stop mongodb
mongodb

查看所有容器,包括未停止运行的容器,可以看到 STATUS 为 exited

$ sudo docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS                      PORTS     NAMES
a05a1533b628   mongo         "docker-entrypoint.s…"   22 minutes ago   Exited (0) 47 seconds ago             mongodb
849405137c9e   hello-world   "/hello"                 46 minutes ago   Exited (0) 46 minutes ago             wizardly_neumann

重新启动容器:

$ sudo docker start mongodb
mongodb

4)使用 volume 持久化数据

虽然成功启动了 mongodb,但每次停止容器后,docker 容器里面的数据都会消失,可以通过 volume 来保存数据,这样下次重新启动容器后,数据可以得以恢复,不会丢失。

$ sudo docker run -it -v mongo_volume:/data/db/mongo -p 27017:27017 --name mongodb -d mongo
a05a1533b6280d95fb625213c579228c627ace989f7b00ba1815b8e81f6c815b

通过 -v 指令,可以创建并关联 volume,这里 volume 的名称为 mongo_volume,数据存储的位置为 /data/db/mongo

查看所有 volume:

$ sudo docker volume ls
DRIVER    VOLUME NAME
local     9cf22727a49818b76240fcfd16f0f017a46075974d84cca7b680d03022b1e605
local     58ee5403f72d36bc066757f3a4dc25867046d02acc7e6e69b52bfa530cbabb68
local     24553a91d0eafd60a73f23a65c0f463cb61cbf557ea64ab43d5b784d8a9622d9
local     b8783d382ad0f423ec3064d94401a968ab08f1c766a71f05cdaa17e5e384efc9
local     bffb4d18d9398a92711c3b121c327884e2b2f12ec175dbbb0d7611f526f6747c
local     d38c59edc35c306d7c3be775443b13d2dd7b925d56ad1c72ad3267dfb1b05842
local     mongo_volume

到此这篇关于如何在 Docker 中运行 Mongodb的文章就介绍到这了,更多相关Docker 运行 Mongodb内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker run的--rm选项使用说明

    docker run的--rm选项使用说明

    这篇文章主要介绍了docker run的--rm选项使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 如何进入、退出docker的container实现

    如何进入、退出docker的container实现

    这篇文章主要介绍了如何进入、退出docker的container实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程

    基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程

    K8S全称是Kubernetes,是一个全新的基于容器技术的分布式架构领先方案,这篇文章主要介绍了基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇),对docker K8S持续集成交付环境相关知识感兴趣的朋友一起看看吧
    2021-05-05
  • 将strapi打包成docker镜像的步骤详解

    将strapi打包成docker镜像的步骤详解

    在这个指南中,我们将学习如何将 Strapi 应用程序打包成 Docker 镜像,解决多环境部署问题,文末也会提供打包好的镜像地址,让同学们能够直接使用,需要的朋友可以参考下
    2024-01-01
  • docker 文件存放路径, 修改端口映射操作方式

    docker 文件存放路径, 修改端口映射操作方式

    这篇文章主要介绍了docker 文件存放路径, 修改端口映射操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Windows Server 2016 安装 Docker的过程及遇到问题

    Windows Server 2016 安装 Docker的过程及遇到问题

    若要在 Windows Server 上安装 Docker,可以使用由 Microsoft 发布的 OneGet 提供程序 PowerShell 模块,接下来通过本文给大家介绍Windows Server 2016 安装 Docker的过程及遇到问题,一起看看吧
    2021-09-09
  • Dockerfile中 CMD和ENTRYPOINT的区别小结

    Dockerfile中 CMD和ENTRYPOINT的区别小结

    本文主要介绍了Dockerfile中 CMD和ENTRYPOINT的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-09-09
  • Docker安装部署rocketmq-console工具教程

    Docker安装部署rocketmq-console工具教程

    这篇文章主要介绍了Docker安装部署rocketmq-console工具教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • docker安装opengauss数据库配置过程详解

    docker安装opengauss数据库配置过程详解

    这篇文章主要为大家介绍了docker安装opengauss数据库配置过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Docker+Jupyter 部署算力服务的解决方案

    Docker+Jupyter 部署算力服务的解决方案

    Docker+Jupyter部署算力服务为AI学习框架提供了一种高效的发布和使用方案,本文以Windows环境为例,介绍了如何下载安装Docker工具,以及如何根据AI框架所需的Python版本拉取合适的Jupyter镜像,本文介绍了Docker+Jupyter 部署算力服务的相关知识,一起看看吧
    2024-11-11

最新评论