[英]docker-compose does not start postgres
我正在為 django 應用程序創建 docker-compose 配置,Dockerfile 構建成功,但是當我組合它們時,django 返回一個問題 - 無法連接到 postgres。
我運行 docker-compose run web bash,發現 redis 和 posgres 都無法連接。
我的 docker-compose.yml 文件
web:
build: .
ports:
- "8000:8000"
environment:
- 'DATABASE_HOST=db'
- 'DATABASE_NAME=mydb'
- 'DATABASE_USER=root'
- 'DATABASE_PASSWORD=root'
links:
- db
db:
image: postgres:9.1
運行 sudo docker-compose up 時出現以下錯誤。
web_1 | File "/usr/local/lib/python2.7/site packages/django/db/backends/postgresql/base.py", line 175, in get_new_connection
web_1 | connection = Database.connect(**conn_params)
web_1 | File "/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
web_1 | conn = _connect(dsn, connection_factory=connection_factory, async=async)
web_1 | django.db.utils.OperationalError: could not connect to server: Connection refused
web_1 | Is the server running on host "localhost" (::1) and accepting
web_1 | TCP/IP connections on port 5432?
web_1 | could not connect to server: Connection refused
web_1 | Is the server running on host "localhost" (127.0.0.1) and accepting
web_1 | TCP/IP connections on port 5432?
我還使用docker-compose
構建了一個集群,它可能會幫助您並回答您的問題(這是repo )。 您可以看到docker-compose.yml文件和django
設置文件(我標記了您需要的行)。
你也可以克隆這個 repo 並獲得django
、 angular2
、 postgresql
和nginx
容器,它們都已經鏈接在一起了。
您正在將您的 Web 容器與 postgres 容器鏈接,但您沒有定義數據庫名稱、密碼和用戶。
web:
build: .
ports:
- "8000:8000"
links:
- db
db:
restart: always
image: postgres:9.1
ports:
- "5432:5432"
volumes:
- pgvolume:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=root
- POSTGRES_DB= aiotadb
- POSTGRES_USER=root
data:
restart: always
image: postgres:9.1
volumes:
- /var/lib/postgresql
command: tail -f /dev/null
此外,如果您已經在設置文件中定義了數據庫選項,則無需在 Web 容器中將其聲明為環境變量。
version: '3'
services:
basicproject:
build: .
container_name: basicproject-container
depends_on:
- postgres
ports:
- "8000:8000"
postgres:
image: postgres:9.4
ports:
- "5432"
environment:
- POSTGRES_USER=test
- POSTGRES_PASSWORD=testing
- POSTGRES_DB=test_db
在您的“網絡”服務中添加依賴項,如下所示:
depends_on:
- db
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.