只需在Docker中准备MongoDB环境并连接

对于如何创建MongoDB环境的问题,我来记录一下。

准备docker-compose的配置

因为我喜欢用docker-compose编写。

version: "3"
services:
  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: password
    ports:
      - 27017:27017

启动容器

当您想要从外部进行连接时,

$ docker-compose up -d

或者

$ docker-compose up

当你想在内部尝试各种方法时

$ docker-compose run --rm --service-ports mongo /bin/bash

如果使用了”–service-ports”选项,会将端口公开给外部。

MongoDB 的启动

除非特别指明,这里仅涉及内部试验环境的描述。默认情况下,指的是在容器内进行的操作。

启动

/# mongod
なんやかんや

以下操作在另一个进程中执行。

用中文进行翻译的句子是:

在中文中只需要一个选项你是:使用恶魔(“デーモン”)

/# mongod --fork --logpath /var/log/mongodb/mongod.log
about to fork child process, waiting until server is ready for connections.
forked process: 50
child process started successfully, parent exiting

连结

一応确认一下流程。

/# ps aux | grep mongo
root       50  1.6  0.9 1579820 97448 ?       Sl   16:36   0:01 mongod --fork --logpath /var/log/mongodb/mongodb.log

由于他看起来很坚强,所以连接。

/# mongo

各种操作 (Kè

数据库切换(创建)

> use sample
switched to db sample

插入(创建一个收藏)

> db.sample_collection.insert({id: 1, name: "taro"})
WriteResult({ "nInserted" : 1 })

找到

> db.sample.find()
{ "_id" : ObjectId("5f107fa8182d6aa721d344fe"), "id" : 1, "name" : "taro" }

退出

> ^C
bye

我来看一下日志。

/# cat /var/log/mongodb/mongodb.log
いろいろ書いてあった

结束mongo进程

/# mongod --shutdown
2020-07-16T16:31:30.899+0000 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-07-16T16:31:30.902+0000 W  ASIO     [main] No TransportLayer configured during NetworkInterface startup
killing process with pid: 50

仅需一种选项,在中文中重新表达以下内容:
参考

广告
将在 10 秒后关闭
bannerAds