DB连接已停止在docker-compose文件中工作

问题描述 投票:0回答:1

此docker-compose文件在六个月前运行正常。但是最近我尝试使用它来测试我的应用程序并收到此错误:

conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not translate host name "db-test" to address: Name or service not known    

我通读了其他一些堆栈溢出答案,并尝试将'restart:always'添加到Web服务。我还尝试将本地网络添加到撰写文件,但没有任何效果。有什么想法我做错了吗?这是我的撰写文件:

version: '3'
services:

  # postgres database
  db-test:
    image: postgres:10.9
    environment:
      - POSTGRES_PASSWORD=example
    volumes:
      - pg-test-data:/var/lib/postgresql/data

  # main redis instance, used to store available years for each organization
  redis-test:
    image: redis:5.0.4
    volumes:
    - redis-test-data:/data

  # redis cache used for caching agency pages like /agencies/salaries/
  redis_cache-test:
    image: redis:5.0.4

  # search engine
  elasticsearch-test:
    image: elasticsearch:5.6.10
    volumes:
       - elasticsearch-test-data:/usr/share/elasticsearch/data

  # web app
  web-test:
    build: .
    environment:
    - DATABASE_URL=postgresql://postgres:example@db-test/postgres
    - ENVIRONMENT=development
    - REDIS_URL=redis://redis-test:6379
    - REDIS_CACHE_URL=redis://redis_cache-test:6379
    - ELASTIC_ENDPOINT=elasticsearch-test:9200
    env_file: docker.env
    depends_on:
      - db-test
      - redis-test
      - redis_cache-test
      - elasticsearch-test
    volumes:
      - .:/code

  # worker instance for processing large files in background
  worker-test:
    build: .
    command: python run-worker.py
    environment:
    - DATABASE_URL=postgresql://postgres:example@db-test/postgres
    - ENVIRONMENT=development
    - REDIS_URL=redis://redis-test:6379
    - REDIS_CACHE_URL=redis://redis_cache-test:6379
    - ELASTIC_ENDPOINT=elasticsearch-test:9200
    env_file: docker.env
    depends_on:
      - db-test
      - redis-test
    volumes:
      - .:/code

volumes:
  pg-test-data: {}
  redis-test-data: {}
  elasticsearch-test-data: {}

这是我的Dockerfile:

FROM python:2.7.17
 ENV PYTHONUNBUFFERED 1
 RUN mkdir /code
 WORKDIR /code
 ADD . /code/
 ADD requirements /requirements
 RUN pip install -r /requirements/local.txt
python django postgresql docker-compose
1个回答
0
投票

我能够通过添加以下内容解决此问题:

links:
  - db-test:db-test

到网络测试服务。

© www.soinside.com 2019 - 2024. All rights reserved.