当前位置: 首页 > 知识库问答 >
问题:

AdminMongo与docker-compose不工作

黄仲渊
2023-03-14

我正在尝试使用AdminMongo访问docker上的mongo数据库。

这是我的docker-compose.yml

version: '3'
services:
  mongo:
    image: mongo
    volumes:
      - ~/data:/data/db
    restart: always
    expose:
      - 6016
  adminmongo:
    image: mrvautin/adminmongo
    expose:
      - 1234
    links:
      - mongo:mongo

当我执行docker-compose up时,adminmongo还会返回以下内容:AdminMongo_1_544D9A6F954C adminmongo监听主机:http://localhost:1234

以下是Docker PS给我的回复:

$ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                 NAMES
9c27d4a89254        mrvautin/adminmongo   "/bin/sh -c 'node ap…"   38 seconds ago      Up 33 seconds       1234/tcp              iris_adminmongo_1_544d9a6f954c
2a7496a8c56a        mongo                 "docker-entrypoint.s…"   40 minutes ago      Up 38 seconds       6016/tcp, 27017/tcp   iris_mongo_1_7f00356a3adc

共有1个答案

饶志
2023-03-14

我在这里发现了两个问题:

第一:暴露一个端口是不够的。expose只是文档,您需要publish(绑定)一个端口到主机才能访问。是这样做的:

ports:
  - 1234:1234

第二:您必须配置AdminMongo来侦听0.0.0.0,因为默认情况下,它开始侦听127.0.0.1,这使得它只能在容器本身内访问。在您的问题中包含的文档页面中,Configuration部分指出,这可以通过传递环境变量来完成:

environment:
  - HOST=0.0.0.0

工作示例:

version: '3'
services:
  mongo:
    image: mongo
    volumes:
      - ~/data:/data/db
    restart: always
    expose:
      - 6016
  adminmongo:
    image: mrvautin/adminmongo
    ports:
      - 1234:1234
    environment:
      - HOST=0.0.0.0
 类似资料:
  • 我有一个docker-compose文件: 但我想知道为什么不和Docker一起工作--组成。

  • 我有一个非常简单的配置docker-complace与和我想用它来托管简单的php网站。 有人能告诉我我做错了什么吗? 这是docker compose。产品名称: 这是网站。prod.conf文件: 我可以编写日志,日志看起来很好,当我运行docker ps时: 然后检查端口,我认为这看起来不错:

  • 我的任务是对接angular应用程序,并使用Nginx提供服务。 我已将angular项目构建到dist文件夹,并希望将此文件夹移动到nginx- 这就是我Docker项目的结构 在这个目录的顶部是一系列其他服务,它们需要与angular应用程序一起运行,而angular应用程序正在按预期运行。用下面的docker编写。yml文件 当我用docker build构建并运行这个容器时,它会按预期运行

  • 主要内容:实例,Compose 安装,使用,composetest/app.py 文件代码,docker-compose.yml 配置文件,yml 配置指令参考Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。 Compose 使用的三个步骤:

  • 使用 Docker Compose,您可以使用一个命令启动本地测试网络。 需求 安装 tendermint 安装 docker 安装 docker-compose 构建 构建 tendermint 二进制文件和可选 tendermint/localnode docker 映像。 注意,二进制文件将被挂载到容器中,因此可以在不重新构建镜像的情况下更新它。 cd $GOPATH/src/github.

  • Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。 本章将介绍 Compose 项目情况以及安装和使用。