2016-07-10 2 views
0

mysql db가있는 Laravel 앱이 있습니다. 나는이 고정 표시기 - compose.yml 사용하여 고정 표시기에서 실행하기 위해 노력하고있어 :docker 컨테이너의 "기본 테이블 또는 뷰를 찾을 수 없음"오류가 발생했습니다.

  • 마이그레이션
  • password_resets
  • 사용자
: 내 호스트 데이터베이스에

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 

세 가지 테이블이

앱을 실행하고 데이터베이스를 참조 할 때 다음과 같은 오류가 있습니다.

Connection.php 줄의 QueryException 715 : SQLSTATE [42S02] : 기본 테이블 또는 뷰를 찾을 수 없음 : 'regappbase.users'테이블이 존재하지 않습니다 (SQL : select * from users where email = (전자 메일 @ ghhjghj77))

어떻게 데이터베이스를 만들 수 있습니까? 데이터 만 저장할 필요는없고 스키마 만

답변

0

글쎄, 나는 이틀 변수를 변경하려고하거나 데이터 전용 컨테이너를 사용하거나 sql-scritps를 탑재하십시오. 그러나 웹 컨테이너를 실행하는 것으로 결정한 것입니다.

php artisan migrate 
1

mysql 이미지 (hub.docker.com)의 설명서를 확인하십시오. .SQL 스크립트를 마운트 할 수있는 디렉토리가 있습니다. 컨테이너 시작시 mysql은이 디렉토리에서 각 파일을 반복 실행합니다. 이것을 사용하여 DB 스키마를 구축하십시오

"신선한 인스턴스 초기화 컨테이너가 처음 시작될 때 새로운 데이터베이스 mysql이 제공된 구성 변수로 초기화되고 확장자를 가진 파일이 실행됩니다. sh와 .sql은 /docker-entrypoint-initdb.d에 있습니다. SQL 덤프를 해당 디렉토리에 마운트하고 기여한 데이터를 제공하는 커스텀 이미지를 제공함으로써 mysql 서비스를 쉽게 채울 수 있습니다. "

관련 문제