次のコマンドを使用して、Ruby / Dockerコンテナ内のPostgresデータベースに接続しようとしています。
docker-compose run app rails db:setup
ちょうど私のスタック追跡レポート;-
Starting reptrax-uk_postgres_1 ... done
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
Couldn't create database for {"host"=>"localhost", "port"=>5432, "adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"development", "pool"=>10, "username"=>"user", "password"=>"secret"}
rails aborted!
PG::ConnectionBad: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
だから私は
netstat -antu | grep 5432
問題のあるポートに関連するものがあることを確認しましたが、何もない場合は空白が返されます。
これは私のスナップショットです。docker-compose.yml
version: '3'
services:
app:
build: .
command: sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
environment:
- RABBITMQ_HOST=rabbitmq
- MONGO_HOST=mongo
- POSTGRES_HOST=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASS=
volumes:
- .:/app
- bundle:/bundle
- node_modules:/app/node_modules
ports:
- "3000:3000"
depends_on:
- postgres
- mongo
- rabbitmq
- redis
- chrome
postgres:
image: postgres:9.5
ports:
- "5432:5432"
mongo:
image: mongo
ports:
私は昨日、以下を含むさまざまなdockerコマンドを試しました。
docker-compose stop
docker-compose down
docker system prune
docker pull postgres:9.5
しかし、まだ喜びはありません。
問題を解決できますか?
答え1
私のために働く; -
postgres設定の下に次の項目を追加しますdocker-compose.yml
。
postgres:
image: postgres:9.5
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
ports:
- "5432:5432"
その後、ターミナルで - 続行; -
docker-compose down
docker container stop $(docker container ls -aq)
docker network create x_middleware
docker network create foo
docker-compose build
docker-compose run app bin/rails db:setup profiles:build
docker-compose run app bin/rails profiles:build
docker-sync-stack start