Mongodb Docker compose:

Mongodb Docker compose:,mongodb,docker,docker-compose,dockerfile,Mongodb,Docker,Docker Compose,Dockerfile,例如,以下是我的项目结构: project | +-- docker-compose.yml | +-- hq-backend | +-- Dockerfile | +-- .env.docker-compose 这是我的docker撰写文件: db: container_name: hq-db image: postgres:latest ports: - "5432:5432" environm

例如,以下是我的项目结构:

project
     |
     +-- docker-compose.yml
     |    
     +-- hq-backend
     |  +-- Dockerfile
     |  +-- .env.docker-compose
这是我的docker撰写文件:

db:
  container_name: hq-db
  image: postgres:latest
  ports:
    - "5432:5432"
  environment:
    POSTGRES_USER: user_name
    POSTGRES_PASSWORD: password
    POSTGRES_DB: db_name

mongo:
  container_name: hq-mongo
  image: mongo:3.2.9
  tty: true
  stdin_open: true
  ports:
    - "27027:27027"
  volumes:
    - mongo:/data/db

hq-backend:
  env_file:
    - ../hq-backend/.env.docker_compose
  build: ../hq-backend/
  dockerfile: Dockerfile
  ports:
    - "8686:8686"
  volumes:
    - ".:/webapp"
  links:
    - db
    - mongo
当我试图运行
docker compose up
时。我总是在最后遇到这个例外:

错误:对于hq后端,无法启动服务hq后端:无法链接到 非运行容器:/hq mongo AS/project\u hq-backend\u 1/mongo

这是我的环境文件:

ENV=dev
DB_HOST=db
DB_ADDRESS=db
DB_PORT=5432
POSTGRES_DB=db_name
POSTGRES_USER=username
POSTGRES_PASSWORD=password

DB_MONGO_ADDRESS=mongo
DB_MONGO_PORT=27027
此问题仅适用于mongo服务,而不适用于db服务。之后,如果我再次尝试运行
docker compose up
,没有发现错误,但我的
hq backend
将抛出异常,因为无法连接到mongo db。换句话说,我只是在从头开始重建
hq后端时遇到了这个问题


请告诉我这个问题。

从docker compose文件中删除tty和stdin\u打开选项。 我想这会影响docker compose处理容器的方式。 如果您想在mongo容器内执行命令,则在编写后,只需使用以下命令登录到该容器: docker exec-t-i总部mongo/bin/bash

顺便说一下,您可以考虑使用DOCKER组合版本2或3和RealsSon代替链接。

尝试将
依赖项添加到与链接相同级别的hq后端。例如:

depends_on:
  - mongo
  - db
links:
  - db
  - mongo