【发布时间】:2016-09-22 18:23:26
【问题描述】:
我正在使用容器进行开发并使用 docker-compose 来提升它们。
我会不时运行docker-compose down 并重建容器。大多数时候我都会收到此错误
PG::ConnectionBad (could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
):
我不明白为什么 Rails 会抱怨 Postgres 不存在,如果整个容器正在重新构建。此外,错误会在一段时间后消失,无需我做任何其他停止、重新启动或重建容器的操作。 我转而使用容器进行开发,以准确摆脱此类烦人的问题。
这是我docker-compose.yml的内容
version: '2'
services:
users:
build:
context: '.'
links:
- postgres
- redis
volumes:
- ".:/app/users/"
working_dir: /app/users
command: [rails, server, -p, "3000", -b, 0.0.0.0]
ports:
- "3000:3000"
postgres:
image: postgres:9.5
environment:
POSTGRES_DB: somedb
POSTGRES_USER: someuser
POSTGRES_PASSWORD: somepass
redis:
image: redis:latest
command: redis-server
ports:
- "6379:6379"
volumes:
- "redis:/var/lib/redis/data"
volumes:
redis:
database.yml
development:
<<: *default
database: somedb
user: someuser
password: somepass
host: postgres
port: 5432
我是否缺少 postgres 服务上的额外配置,还是与用户容器有关?
【问题讨论】:
-
你解决过这个问题吗?
-
@creimers 不完全是。查看已接受的答案。
标签: ruby-on-rails postgresql docker-compose