LoginSignup
0
0

More than 3 years have passed since last update.

【Laravel】LaradockでPostgreSQLを起動できないときの対処法

Posted at

事象

psqlでデータベースを作ることを試みるが以下のエラーが発生し、失敗。

laradock % docker-compose exec workspace psql -U default -h postgres
psql: could not translate host name "postgres" to address: Name or service not known
laradock % docker-compose exec workspace psql -U default -h postgres
psql: could not connect to server: Connection refused
    Is the server running on host "postgres" (172.21.0.4) and accepting
    TCP/IP connections on port 5432?

確認事項と解消法

1. 本当にコンテナは起動しているのか?

docker-compose up -dコマンドで全てdoneになっていたが本当に起動しているか
docker-compose psコマンドで確認する。

laradock % docker-compose ps
         Name                        Command               State            Ports         
------------------------------------------------------------------------------------------
laravel-sns_nginx_1       /docker-entrypoint.sh ngin ...   Up       0.0.0.0:80->80/tcp    
laravel-sns_php-fpm_1     docker-php-entrypoint php-fpm    Up       0.0.0.0:9000->9000/tcp
laravel-sns_postgres_1    docker-entrypoint.sh postgres    Exit 1                         
laravel-sns_workspace_1   docker-php-entrypoint php-fpm    Up       9000/tcp

起動できていないことを確認し、docker-compose up -dコマンドを再度実行してみる。

laradock % docker-compose ps   
         Name                        Command               State                       Ports                     
-----------------------------------------------------------------------------------------------------------------
laravel-sns_mailhog_1     MailHog                          Up      0.0.0.0:1025->1025/tcp, 0.0.0.0:8025->8025/tcp
laravel-sns_nginx_1       /docker-entrypoint.sh ngin ...   Up      0.0.0.0:80->80/tcp                            
laravel-sns_php-fpm_1     docker-php-entrypoint php-fpm    Up      0.0.0.0:9000->9000/tcp                        
laravel-sns_postgres_1    docker-entrypoint.sh postgres    Up      0.0.0.0:5432->5432/tcp                        
laravel-sns_workspace_1   docker-php-entrypoint php-fpm    Up      9000/tcp 

全て起動した!

2. laradock配下の.envファイルの確認

laradock配下の.envファイルのDATA_PATH_HOSTを確認。
デフォルトだと以下のようになっている。

DATA_PATH_HOST=~/.laradock/data

デフォルトのままだとローカルPCの共通のディレクトリを参照してしまうので動きません。
以下のように変更をします。

DATA_PATH_HOST=../data

3. postgresql.confファイルのポート番号を確認

私はここを確認し、解消しました。
dataディレクトリにあるpostgresql.confファイルのポート番号を確認。

# port = 5432               # (change requires restart)

あれ?5433じゃね?しかもコメントアウトされてる...
ということで修正し、docker-compose up -dコマンドを再度実行したら
無事データベースを作成できました!:v:

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0