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