Laravel Sail
라라벨 환경을 도커 개발환경으로 간편하게 만들 수 있게 도와주는 경량형 CLI(명령 줄 인터페이스)입니다.
Docker Desktop만을 설치하면 도커 개발 환경으로 라라벨 환경을 쉽게 구축할 수 있습니다.
귀찮게 VM, APM, Composer 등등 신경 안쓰고 다들 쓰는 도커로 세팅해봅시다.
Laravel Sail은 Mac os, Linux, WSL2를 지원합니다.
Docker Desktop
로컬 환경에서 편리하게 Docker를 사용하게 도와줍니다.
Docker는 복잡한 세팅을 하나의 파일로 관리할 수 있게 해 주는데 이를 이미지라고 합니다.
OS의 이미지와 유사한 개념이라 보시면 됩니다
Container는 해당 이미지를 실제로 실행 시킨 상태입니다.
Docker와 가상머신의 차이는 도커가 훨씬 리소스를 적게 잡아먹는다고 생각하시면 됩니다.
자세한 내용은 아래 링크를 참조해주세요.
https://docs.docker.com/get-started/overview/
프로젝트 만들기
전제는 Docker Desktop와 Composer를 정상적으로 설치했다는 가정입니다.
Composer의 경우 프로젝트 생성을 위해 사용하며, 만약 Github나 다른 방법을 통해 프로젝트를 가져올 경우 없어도 무방합니다.
1. 프로젝트 생성
프로젝트를 생성할 폴더로 이동 후 아래 명령어로 만들어줍시다.
composer create-project laravel/laravel 프로젝트명
2. sail 설치
composer 종속성을 추가해줍시다.
composer require laravel/sail --dev
이제 아래 명령어로 다운로드를 할 수 있습니다.
cd blog
php artisan sail:install
아래 화면 처럼 디비를 선택하실 수 있습니다.
저는 기본 값인 mysql로 진행하겠습니다.
이제 ./vendor/bin/sail로 명령어를 실행할 수 있습니다.
하지만 주소를 치기 번거로우니 alias 설정을 추가해줍시다.
# 리눅스
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
# 영구 등록시 ~/.bashrc에 추가
sail을 실행 해줍시다, -d 옵션을 추가하시면 백그라운드로 실행이 됩니다.
포그라운드에서는 ctrl+c, 백그라운드는 sail stop 명령어로 종료가 가능합니다.
sail up
sail up -d
# 윈도우 실행
bash ./vendor/laravel/sail/bin/sail up
윈도우의 경우 wsl로 접속하시면 같은 방법으로 진행이 가능합니다.
다음과 같이 docker desktop에서 컨테이너와 이미지가 생성된 것을 확인할 수 있습니다.
관련 도커 설정은 docker-composer 파일에서 확인이 가능합니다.
vi docker-compose.yml
여기까지만 진행하셔도 라라벨 페이지 접속이 가능합니다.
추가 설정
Laravel sail로 독립된 컨테이너 생성했을 경우 기존 명령어들은 아래와 같은 방법으로 로컬에서 컨테이너로 명령어 실행이 가능합니다.
db 관련 정보는 마찬가지로 .env로 확인이 가능합니다.
만약 SQLSTATE[HY000] [2002] Connection refused. 와 같은 에러가 발생한다면.env의 DB_HOST가 myslq 인지 확인해줍시다.
php artisan migrate =>
sail artisan migrate
composer dump-autoload =>
sail composer dump-autoload
npm run dev =>
sail npm run dev
mysql =>
sail mysql
'PHP > Setting' 카테고리의 다른 글
[JetBrains] PHPStorm 프로젝트 SFTP 연결 (0) | 2024.02.27 |
---|---|
php.ini openssl 모듈 추가가 안될 경우, disabled (install ext/openssl) (0) | 2022.12.12 |
[Window 10] Ubuntu WSL 설치 시 경로 찾기 (0) | 2022.10.29 |
[Window] 로컬에서 PHP 버전 바꾸기(업데이트, 다운그레이드) (2) | 2022.10.11 |
[Homestead] PHP Extesnion 추가하는 법 (with CLI, FPM, CGI) (2) | 2022.08.29 |