Linux 安拆设置装备摆设 mongodb 的办法是什么?

刚刚阅读1回复0
kanwenda
kanwenda
  • 管理员
  • 注册排名1
  • 经验值154930
  • 级别管理员
  • 主题30986
  • 回复0
楼主

本篇内容,详细介绍若何在 docker 中运行 mongo 的,我用的是 wsl ubuntu 20.04。文章顶用到了较多的 docker 号令以及概念,若是想领会 docker 的详细内容能够参考那篇教程: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 什么是 docker 镜像(docker image):https://pengfeixc.com/tutorial/docker/docker-image

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 关于 docker 容器的操做,能够参考那篇教程:Docker Containers

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 什么是 volume,若何操纵 volume?能够看那篇文章:Docker Volumes

国庆假期完毕了,又要勤奋搬砖了...

若是文章有什么问题,欢送留言...

(完)

0
回帖 返回旅游

Linux 安拆设置装备摆设 mongodb 的办法是什么? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息