Docker:在執行Laravel artisan指令時遇到連線拒絕錯誤
P粉787820396
P粉787820396 2023-08-07 16:24:22
0
2
597
<p>我在Docker中運行Laravel 5.4。這是我的碼頭作曲。 yml檔:</p> <pre class="brush:php;toolbar:false;">version: '2' services: app: container_name: laravel_app image: webdevops/php-apache-dev:ubuntu-16.04 links: - mysql depends_on: - mysql ports: - 8888:80 volumes: - .:/app environment: docker: 'true' WEB_DOCUMENT_ROOT: '/app/public' WEB_NO_CACHE_PATTERN: '.(.*)$$' working_dir: '/app' mysql: image: mariadb:latest ports: - 8889:80 environment: MYSQL_ROOT_PASSWORD: 'dev' MYSQL_DATABASE: 'dev' MYSQL_USER: 'dev' MYSQL_PASSWORD: 'dev'</pre> <p>This is the relevant part of my <code>.env</code> file:</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 migrate時,我得到了這個錯誤:</p> <blockquote> <p>SQLSTATE[HY000] [2002] Connection refused (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

把我的mysql容器的名字而不是127.0.0.1

NAME CONTAINERS

project-db --> container mysql
project-app --> container laravel

DB_CONNECTION=mysql
DB_HOST=project-db
DB_PORT=3306
DB_DATABASE=project
DB_USERNAME=root
DB_PASSWORD=root
P粉225961749

首先,編輯您的docker-compose.yml檔案

mysql:
    image: mariadb:latest
    ports:
      - 8889:3306

然後,在.env檔案中設定正確的資料庫連接埠

你的資料庫連接埠是錯誤的。你正在嘗試透過docker內運行的資料庫實例連接暴露的連接埠。在這種情況下,你應該在.env檔案中使用DB_PORT=3306

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板