Laravel sail快速搭建环境

/ 评论 / 100 浏览

前提:先安装dockerdocker-compose应用。

拉取基于laravel的项目,在composer.json文件中添加阿里云源。

    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://mirrors.aliyun.com/composer/"
        }
    }

因为本地没有php环境,所以使用临时php81-composer容器环境为项目安装sail依赖,打开终端,在项目根目录下执行命令:

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php81-composer:latest \
    composer require laravel/sail --dev  --ignore-platform-reqs   

继续使用临时php81-composer容器环境给项目添加必要的docker-compose.yml文件。

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php81-composer:latest \
    php artisan sail:install

注意:生成的docker-compose.yml文件内有我们不需要的服务,手动删除mysql的service服务。

从vendor文件复制一份容器 build 文件,然后按需修改。

cp -r ./vendor/laravel/sail/runtimes ./.docker

完整的流程是执行 ./vendor/bin/sail up 来创建镜像和容器,但是我们不需要从头开始,使用事先已经做好了php8.1镜像,拉取后直接使用减少漫长的等待时间。

修改docker-compose.yml文件:

# For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
<font color="#8baa4a">#        build:
#            context: ./.docker/8.1
#            dockerfile: Dockerfile
#            args:
#                WWWGROUP: '${WWWGROUP}'</font>
        image: <font color="#c24f4a">mengdodo/sail-php8.1</font>
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
        environment:
            WWWUSER: '${WWWUSER}'
           <font color="#c24f4a"> APP_ENV: 'dev'</font>
            LARAVEL_SAIL: 1
            DISABLE_IPV6: 'true'
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail

networks:
    sail:
        driver: bridge
<br/>

启动项目:

./vendor/bin/sail up -d



生活

上一篇:萌嘟嘟极简白博客系统

2022-04-10 15:51:50