docker中安装指定的mongodb版本

1.版本选取

  • 访问mongodb的镜像仓库地址:https://hub.docker.com/_/mongo?tab=tags&page=1

  • 这里选取最新版本进行安装,如果想安装其他的可用版本,可以使用命令docker search mongo来查看

2.拉取最新版本镜像

这里执行命令sudo docker pull mongo:latest拉取最新版的mongodb镜像文件

等待镜像拉取完成后,通过命令sudo docker images查看下拉取的镜像,可以看到,已经成功拉取到了本地

3.3.开始运行

创建一个文件夹,用作mongodb的数据目录挂载

运行启动命令docker run -p 27017:27017 -v /Users/alice/Documents/data/db --name mongodb -d mongo

在上面的命令中,几个命令参数的详细解释如下:

  • -p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务
  • -v 为设置容器的挂载目录,这里是将本机的“/data/mongo”目录挂载到容器中的/data/db中,作为 mongodb 的存储目录
  • –name 为设置该容器的名称
  • -d 设置容器以守护进程方式运行

通过命令docker ps查看容器启动运行情况
可以看到mongo容器已经成功运行起来了

使用/Users/alice/Documents/data/db报错:

docker run -p 27017:27017 -v /alice/data/db:/data/db --name mongodb -d mongo 
45fa1bd201e226a4ced69daf31f4dff2607f33540b3fbb77a08f3f90cb5a03c6
docker: Error response from daemon: Mounts denied: 
The path /alice/data/db is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/docker-for-mac for more info.

目前有可能是一个 Docker 的 Bug,因为 /alice/data/db是挂载到已经默认添加 /Users文件共享,但是它还是报错,因此我们需要做一点小修改.
解决方法

启动命令为:docker run -p 27017:27017 -v ${HOME}/docker/alice/data/db:/data/db --name mongodb -d mongo
参考文章链接:
https://www.cnblogs.com/xiao-xue-di/p/14185308.html

docker中使用mongodb导入数据

  1. 先将宿主机上的数据copy到容器中(拷贝到mongodb的bin目录下,可以在进入mongodb容器的bin目录之后通过ls来查看是否拷贝成功)
    • 导入数据库
      docker cp /Users/alice/Documents/eportal mongodb:/bin/
    • 导入json文件
      docker cp /Users/alice/Desktop/data/employees.json mongodb:/bin/
  2. 进入容器
    docker exec -it mongodb /bin/bash
  3. 恢复到数据库实例
    mongorestore -d eportal /bin/eportal
    mongoimport -h 127.0.0.1 -d eportal -c departments departments.json
  • -d 数据库名
  • -c 集合名字

docker中导出mongodb的数据

  • 1.进入容器命令
    docker exec -it mongodb /bin/bash
  • 2.到处容器中的数据
    • 导出数据库
      mongodump -h 127.0.0.1 --port 27017 -d eportal (数据库名称) -o /alice(容器中的文件夹地址)
    • 导出集合数据
      mkdir alice //新建文件夹
      mongoexport -h 127.0.0.1 --port 27017 -d eportal -c assets -o /alice/assets.json
  • 3.导出道真机
    docker cp mongodb:/alice /Users/alice/Desktop/data
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值