Docker 환경에서 Laravel×Nuxt.js 개발 시 DB 연결 및 CORS 문제 해결
소개
Docker 환경을 사용하여 Laravel(API 서버), Nuxt.js(프런트) 환경을 구축했습니다.
그 때 コンテナ名関連のエラー
가 2개 정도 나왔으므로 그 점에 대해 기재합니다.
이 기사에서 다루지 않는 것
개요
DB 연결 문제
Laravel에서 DB에 액세스하면 다음 오류가 발생했습니다.
조사한 바 Docker의 경우,
.env
의 변경이 필요하게 되는 것으로 수정.(변경 전)
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
(변경 후)
.env
DB_CONNECTION=mysql
DB_HOST=db #ここをデータベースのコンテナ名にする
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
안전하게 json을 얻을 수 있음을 확인할 수있었습니다!
CORS 문제
Nuxt.js에서는 axios를 사용하여 Laravel에 json을 가져갑니다.
프록시 관련으로 에러가 나왔으므로 대응합니다.
프록시 설정
모듈을 추가합니다.
$ yarn add @nuxtjs/proxy
nuxt 측에서는
/api
로 Laravel에 액세스합니다.web
가 컨테이너명, 80
가 컨테이너의 포트가 됩니다. (여기를 처음 localhost:8000으로 하고 있었으므로 조금 넘어졌습니다)nuxt.config.js
modules: [
"@nuxtjs/axios",
"@nuxtjs/proxy" //追加
],
axios: {
proxy: true //追加
},
proxy: {
"/api": "http://web:80" //追加
},
안전하게 데이터를 얻을 수있었습니다!
결론
Laravel을 API 서버로서 Docker 환경에서 개발할 때 등은 상기 이외에도 필요한 부분이 나올까 생각합니다만, 그 주변은 검색하면 비교적 빨리 나오므로 거기에 별로 실려 있지 않은 것 에 관해서 이번 기재했습니다.
Reference
이 문제에 관하여(Docker 환경에서 Laravel×Nuxt.js 개발 시 DB 연결 및 CORS 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ikeyansaza/items/bd32feea1404386558e9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Docker 환경에서 Laravel×Nuxt.js 개발 시 DB 연결 및 CORS 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ikeyansaza/items/bd32feea1404386558e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)