如何在 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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
ubuntu22通过docker安装wechat启动后无界面的问题及解决方法
这篇文章主要介绍了ubuntu22通过docker安装wechat启动后无界面的解决方法,通过微信创建脚本发现一系列问题,最终在小编的努力下顺利解决,下面把解决过程分享给大家,需要的朋友可以参考下2022-07-07
最新评论