DOClever的mongodb

DOClever的mongodb

version: "2"
services:
  DOClever:
    image: lw96/doclever
    restart: always
    container_name: "DOClever"
    ports:
    - 10040:10000
    volumes:
    - /srv/doclever/file:/root/DOClever/data/file
    - /srv/doclever/img:/root/DOClever/data/img
    - /srv/doclever/tmp:/root/DOClever/data/tmp
    environment:
    - DB_HOST=mongodb://mongo:27017/DOClever
    - PORT=10000
    links:
    - mongo:mongo

  mongo:
    image: mongo:latest
    restart: always
    container_name: "mongodb"
    volumes:
    - /srv/doclever/db:/data/db

DOClever需要mongodb,后期也需要mongodb,我是从前面回来的,我想把DOClever的mongodb的端口变成其他的可以吗?怎么修改environment里面的端口呢?

environment:
    - DB_HOST=mongodb://mongo:27017/DOClever
    - PORT=10000

修改成这样?:后面加一个冒号可以吗

environment:
    - DB_HOST=mongodb://mongo:27018:27017/DOClever
    - PORT=10000


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Brian 2020-02-29 23:31:45

你现在的目的是什么?改 mongoDB 的端口?mongoDB 的端口如果是使用课程中的 docker-compose,不需要改,会使用下面的 mongo 服务的端口,默认就是 27019

预期的结果是什么?你改了容器中的端口,外界的服务也用不到,因为 mongodb 的服务只提供给 Doclever 用。

再一个,你现在的操作是猜的吗?去查一下 environment 这个变量的意义吧。

这里是提供给 doclever 服务的,跟 mongo 服务没有关系啊,设置这个变量,看一下官方的文档,主要的作用就是提供给需要使用其他 mongodb 服务的场景下使用的,比如,多个服务使用同一个 mongodb 服务。但是不推荐大家这么玩!!!


  • 提问者 zippen #1
    我是下午百度了,没有结果,刚刚你叫我看官方文档,我刚刚看了,也没有介绍在environment可以改变外部端口的功能,我的想法是让DOClever依赖的mongodb不是默认的27019,这样我就可以设置多一个别的mongodb容器是默认的27019了。 因为我之前也认识到了所有的docker容器都可以在外部映射端口,比如15000:10000之类的。因此我就有了这个类比的想法?这也不奇怪吧?可是根本没有environment之下可以改变端口的文章。你不觉得DOClever这么一个测试工具用一个带有默认端口的mongodb很浪费吗?对不起我有洁癖
    2020-03-01 00:09:00
  • 提问者 zippen #2
    刚刚心情很不好,当做没看见吧。。。态度有点冲了。。
    2020-03-01 00:17:01
  • 提问者 zippen #3
    我突然又想到了,如果有一个类似Doclever的容器也需要mongodb,端口也是27019,那不就会容器的名字和端口都冲突了吗?
    2020-03-01 00:47:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师