【Laravel】Laradock에서 PostgreSQL을 기동할 수 없는 경우의 대처법

사건



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 명령으로 모두 완료되었지만 정말로 시작하고 있습니까?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 명령을 다시 실행하면
안전한 데이터베이스를 만들 수있었습니다!

참고 사이트

좋은 웹페이지 즐겨찾기