Docker: Laravel 職人コマンドの実行中に接続拒否エラーが発生しました
P粉787820396
P粉787820396 2023-08-07 16:24:22
0
2
690
<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: '.(.*)$$' 作業ディレクトリ: '/app' mysql: 画像: mariadb: 最新 ポート: - 8889:80 環境: MYSQL_ROOT_PASSWORD: '開発' MYSQL_DATABASE: '開発' MYSQL_USER: '開発者' MYSQL_PASSWORD: 'dev'</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 職人移行を実行すると、次のエラーが発生します: </p> <ブロック引用> <p>SQLSTATE[HY000] [2002] 接続が拒否されました (SQL: select * from information_schema.tables where table_schema = dev and table_name = migrations)</p> </blockquote> <p>.env ファイル内のホストとポートのパラメータを変更してみました。 </p>
P粉787820396
P粉787820396

全員に返信(2)
P粉295728625

127.0.0.1の代わりにmysqlコンテナの名前を入力します

リーリー
いいねを押す +0
P粉225961749

まず、docker-compose.yml ファイルを編集します

リーリー

次に、.env ファイルに正しいデータベース ポートを設定します。

データベース ポートが間違っています。 Docker 内で実行されているデータベース インスタンスを介して公開ポートに接続しようとしています。この場合、.env ファイルで DB_PORT=3306

を使用する必要があります。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート