찾다

 >  Q&A  >  본문

Docker: Laravel artisan 명령을 실행하는 동안 연결 거부 오류가 발생했습니다.

<p>저는 Docker에서 Laravel 5.4를 실행하고 있습니다. 이것이 내 도크 구성입니다. yml 파일:</p> <pre class="brush:php;toolbar:false;">버전: '2' 서비스: 앱: 컨테이너 이름: laravel_app 이미지: webdevops/php-apache-dev:ubuntu-16.04 연결: - mysql 의존: - mysql 포트: - 8888:80 볼륨: - .:/앱 환경: 도커: '사실' WEB_DOCUMENT_ROOT: '/app/public' WEB_NO_CACHE_PATTERN: '.(.*)$$' Working_dir: '/앱' MySQL: 이미지: mariadb:최신 포트: - 8889:80 환경: MYSQL_ROOT_PASSWORD: '개발자' MYSQL_DATABASE: '개발자' MYSQL_USER: '개발자' MYSQL_PASSWORD: '개발자'</pre> <p>이것은 내 <code>.env</code> 파일의 관련 부분입니다:</p> <pre class="brush:php;toolbar:false;">DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=8889 DB_DATABASE=dev DB_USERNAME=dev DB_PASSWORD=dev</pre> <p>Laravel의 환영 페이지가 보입니다. 작동 중입니다. 하지만 php artisan migration을 실행하면 다음 오류가 발생합니다: </p> <인용문> <p>SQLSTATE[HY000] [2002] 연결이 거부되었습니다(SQL: table_schema = dev 및 table_name = migrations인 information_schema.tables에서 * 선택)</p> </인용문> <p>.env 파일에서 호스트 및 포트 매개변수를 수정해 보았습니다. </p>
P粉787820396P粉787820396592일 전684

모든 응답(2)나는 대답할 것이다

  • P粉295728625

    P粉2957286252023-08-08 13:47:57

    127.0.0.1 대신 mysql 컨테이너의 이름을 입력하세요

    으아아아

    회신하다
    0
  • P粉225961749

    P粉2259617492023-08-08 12:59:00

    먼저 docker-compose.yml 파일을 편집하세요

    으아아아

    그런 다음 .env 파일에서 올바른 데이터베이스 포트를 설정하세요.

    데이터베이스 포트가 잘못되었습니다. Docker 내부에서 실행되는 데이터베이스 인스턴스를 통해 노출된 포트에 연결하려고 합니다. 이 경우 .env 파일에서 DB_PORT=3306

    을 사용해야 합니다.

    회신하다
    0
  • 취소회신하다