2016-07-10 39 views
0

我使用mysql db創建了Laravel應用程序。我試圖用這個碼頭工人,compose.yml在泊塢窗來運行它:Docker容器中的「基本表或視圖未找到」錯誤

load_balancer: 
image: tutum/haproxy 
links: 
    - web 
ports: 
    - "80:80" 

cache: 
    image: redis 

web: 
    image: andrewmclagan/nginx-hhvm 
    links: 
     - db 
     - cache 
    volumes: 
     - ./:/var/www 
    environment: 
     - APP_ENV=local 
     - DB_DATABASE=regappbase 
     - DB_PASSWORD=Q1w2e3r4t5 
     - DB_HOST=db 
     - VIRTUAL_HOST=laravel.local 

db: 
    image: mysql 
    environment: 
     MYSQL_ROOT_PASSWORD: Q1w2e3r4t5 
     MYSQL_DATABASE: regappbase 

在我的主機數據庫中有三個表:

  • 遷移
  • password_resets
  • 用戶

當我運行應用程序並嘗試引用數據庫時,我有這樣的錯誤:

QueryException in Connection.php line 715:SQLSTATE [42S02]:找不到基表或視圖:表'regappbase.users'不存在(SQL:select * from users where email =(e-mail @ ghhjghj77))

如何創建數據庫regappbase?我不需要存儲數據,只有模式

回答

0

那麼,我花了兩天時間試圖更改變量,或使用純數據容器,或裝入sql-scritps。 但決定是從運行網絡容器:

php artisan migrate 
1

檢查mysql映像(hub.docker.com)的文檔。有一個目錄,你可以將你的.SQL腳本裝入,在容器啓動時,mysql將循環並執行這個目錄中的每個文件。使用它建立數據庫模式

「初始化一個新實例 當一個容器第一次啓動時,一個新的數據庫mysql將被初始化爲所提供的配置變量,並且它將執行帶有擴展名的文件。 sh和.sql在/docker-entrypoint-initdb.d中找到。您可以通過在該目錄中添加SQL轉儲並提供自定義圖像和貢獻數據來輕鬆填充您的mysql服務「

相關問題