mongodb - 无法在 Docker 组合中命名 Mongo 数据库

谁能告诉我哪里出错了。我要做的就是使用 docker compose 命名一个 Mongo 数据库。

我有一个 docker 撰写文件,如下所示:

version: "3"
services:
  mongo-db:
    image: mongo
    environment:
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=password
      - MONGO_INITDB_DATABASE=mydbname
    ports:
      - 27017:27017
    volumes:
      - mongo-db:/data/db

volumes:
  mongo-db:

我运行 docker docker-compose -f docker-compose.yml up -d --build 并且它运行。然后我打开 Robo 3T 并连接到我的容器,但每次我这样做时,数据库都称为 test 而不是 mydbname。有任何想法吗? TIA

回答1

如果没有数据库已经存在,环境变量仅用于创建新数据库。您将一个卷映射到 /data/db 并且该卷可能包含一个名为“test”的现有数据库。

使用 docker volume ls 查找卷。它被称为 <directory name>_mongo-db 之类的东西。然后使用 docker volume rm <volume name> 将其删除。

现在 Docker 将创建一个新的空卷,Mongo 将在您启动容器时创建一个新数据库。它将使用环境变量中的 values 。

相似文章

随机推荐

最新文章