2016-05-11 13 views
0

私のDockerコンテナでpostgresqlを実行しようとしています。ここでPostgresql - Dockerで認証に失敗しました

は、PostgreSQL

FROM postgres:9.5.2 

RUN localedef -i ru_RU -c -f UTF-8 -A /usr/share/locale/locale.alias ru_RU.UTF-8 
ENV LANG ru_RU.utf8 

ENV POSTGRES_PASSWORD OaO1OHrzTZ3cqyLnju2z 
ENV PROJECT_USER test 
ENV PROJECT_DATABASE test 

COPY config/init-user-db.sh /docker-entrypoint-initdb.d/init-user-db.sh 

init-user-db.sh

#!/bin/bash 
set -e 

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL 
    CREATE EXTENSION "adminpack"; 
    CREATE EXTENSION "autoinc"; 
    CREATE EXTENSION "cube"; 
    CREATE EXTENSION "file_fdw"; 
    CREATE EXTENSION "fuzzystrmatch"; 
    CREATE EXTENSION "hstore"; 
    CREATE EXTENSION "insert_username"; 
    CREATE EXTENSION "intarray"; 
    CREATE EXTENSION "isn"; 
    CREATE EXTENSION "lo"; 
    CREATE EXTENSION "ltree"; 
    CREATE EXTENSION "moddatetime"; 
    CREATE EXTENSION "pageinspect"; 
    CREATE EXTENSION "pgcrypto"; 
    CREATE EXTENSION "pg_trgm"; 
    CREATE EXTENSION "postgres_fdw"; 
    CREATE EXTENSION "refint"; 
    CREATE EXTENSION "seg"; 
    CREATE EXTENSION "sslinfo"; 
    CREATE EXTENSION "tablefunc"; 
    CREATE EXTENSION "tcn"; 
    CREATE EXTENSION "timetravel"; 
    CREATE EXTENSION "unaccent"; 
    CREATE EXTENSION "uuid-ossp"; 
    CREATE EXTENSION "xml2"; 
    CREATE USER "$PROJECT_USER" WITH password 'OaO1OHrzTZ3cqyLnju2z 
'; 
    CREATE DATABASE "$PROJECT_DATABASE" WITH OWNER="$PROJECT_USER" TEMPLATE=template1 ; 
    GRANT ALL PRIVILEGES ON DATABASE "$PROJECT_DATABASE" TO "$PROJECT_USER"; 
    REVOKE ALL PRIVILEGES ON DATABASE "$PROJECT_DATABASE" FROM PUBLIC; 
EOSQL 

のthatsあなたといただきました!私のアプリケーションのconfigs(symfonyの3)で

parameters: 
    database_host: 192.168.99.100 
    database_port: 48002 
    database_name: test 
    database_user: test 
    database_password: OaO1OHrzTZ3cqyLnju2z 
    mailer_transport: smtp 
    mailer_host: 127.0.0.1 
    mailer_user: null 
    mailer_password: null 
    secret: O81s4KSjs8NdxSAacvU82AdC973aSxKdL 

のための私のDockerFileです参照してください、私はすべての場所に同じパスワードを持って - OaO1OHrzTZ3cqyLnju2z。

ただし、「test」というユーザーのエラーパスワード認証に失敗しました。

何が欠けていますか?なぜそれが認証されないのですか?

答えて

0

スクリプトをソースから直接貼り付けましたか?パスワードの最後の桁の間にスペースや引用符を持っているように見えるので :

CREATE USER "$PROJECT_USER" WITH password 'OaO1OHrzTZ3cqyLnju2z 
'; 

は、単にコピー&ペーストを

CREATE USER "$PROJECT_USER" WITH password 'OaO1OHrzTZ3cqyLnju2z'; 
+0

のthatsを試してみてくださいそこにスペースを持っていけません。 – Tigran

関連する問題