IT/PHP

[laravel] laralvelsail 라라벨세일 간단메모

월공 2021. 7. 21. 11:15
728x90
300x250

라라벨세일은 내가 알아본바로는 그냥 심플하게 요약하면 라라벨 프로젝트를 docker-compose.yml 파일로 만들어주는 기능이다. 기존에 만들어져있는 라라벨 프로젝트 내부에서 lalaravelsail 이라는 명령어를 쳐서 yml 파일을 만들수있다.

 

#프로젝트 생성
composer create-project --prefer-dist laravel/laravel myProject

라라벨 프로젝트 생성 후에 진입하여 아래 명령어 입력

*프로젝트 생성시에 composer 에러가 있었는데 대부분 뭘 더 설치해야된다 라는 에러라서 install 해주면 쉽게 해결가능

내 경우엔 아래것들이 없어서 설치진행

yum install php-mbstring , php-xml

#라라벨 폴더 권한 조정
chown -R user1:user1 /var/www/html/myProject

#웹서버에 storage bootstrap/cache 폴더 권한부여 (센토스 & 아파치 기준)
#안해주면 permission denied 뜸
chown -R apache:apache storage bootstrap/cache
#세일
composer require laravel/sail --dev
#docker-compose.yml 파일 생성
php artisan sail:install

위 명령어를 치게 되면 아래 처럼 나오게되는데 내가 선택하는것마다 yml 이 알아서 맞춰서 세팅된다.

그냥 아무것도 선택안하고 enter 쳐도 yml 파일은 생성되는것을 확인했다.

진행하고 나면 위처럼 docker-compose.yml 파일이 생성된걸 확인할수 있다.

 

아래는 yml 파일 내용

# For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.0
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.0/app
        ports:
            - '${APP_PORT:-80}:80'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
    mysql:
        image: 'mysql:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
        volumes:
            - 'sailmysql:/var/lib/mysql'
        networks:
            - sail
        healthcheck:
          test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
          retries: 3
          timeout: 5s
networks:
    sail:
        driver: bridge
volumes:
    sailmysql:
        driver: local

 

실행은

 

./vendor/bin/sail up

 

명령어를 치면 된다고한다 는데.. 아직 의문점들이 많다 세팅된 라라벨 프로젝트를 진짜 토씨하나 안틀리고 그대로 가져올수 있는건지 .. db는 어떻게 되는건지 전부 다 실험을 해보진 않아서 확인은 못했다

좀 더 공부해서 덧붙혀야겠다.

 

참조링크 https://laravel.com/docs/8.x/sail

 

 

728x90
300x250