Docker-compose给URI :: InvalidURIError:方案postgresql不接受注册表部分:$ DB_USER:$ DB_PASSWORD @ $ DB_HOST:port(orbad hostname?)

时间:2018-10-09 12:33:42

标签: ruby-on-rails docker docker-compose

我正在为Ruby应用程序使用多个容器。容器工作正常,但是在使用ms.Seek(0, SeekOrigin.Begin); //THIS IS NECESSARY to change the position to the beginning byte[] buffer = null; using (var bz2InputStream = new BZip2InputStream(ms)) { buffer = new byte[bz2InputStream.Length]; bz2InputStream.Read(buffer, 0, buffer.Length); } 创建数据库时,出现以下错误。 docker-compose run app rails db:create

下面显示了docker-compose文件的片段

rails aborted!
URI::InvalidURIError: the scheme postgresql does not accept registry part: $DB_USER:$DB_PASSWORD@$DB_HOST:port (orbad hostname?)

有人建议我创建一个名为db: image: postgres:9.4 volumes_from: - data environment: POSTGRES_USER: cpostgres POSTGRES_DB: micro_login_db ports: - 5432 app: build: . depends_on: - db volumes: - .:/webapp command: rails server -p 3000 -b 0.0.0.0 ports: - 3000:3000 environment: DB_HOST: db DB_USER: cpostgres POSTGRES_DB: micro_login_db POSTGRES_TEST_DB: micro_login_test 的文件,其中包含以下详细信息

application.yml

最后还有DB_USER: 'cpostgres' DB_PASSWORD: '' DB_HOST: 'db' POSTGRES_DB: 'micro_login_db' port: 5432 文件

database.yml

问题是,为什么会出现此错误?我该如何解决?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您的POSTGRES_DB值带有下划线。您是否尝试过删除那些?

带下划线的主机名有时会出现问题。

Reference