使用 laravel sail 添加新服务

Yea*_*fat 9 laravel docker laravel-sail

我有一个用 Composer 创建的 Laravel 8 项目。然后我添加了 laravel sail by composer require laravel/sail,然后执行了 command php artisan sail:install。命令执行后sail up,仅mysql创建了容器,一切正常。但现在我想添加redis到我的 docker 容器中。我怎样才能做到这一点?我对 Docker 不了解,但 laravel sail 使使用 Docker 变得非常容易。我想redis在 laravel sail 的帮助下添加。有什么办法可以做到这一点吗?

Kid*_*ang 15

你可以编辑docker-compose.yml

services

laravel.test:
    ...
    depends_on:
        - mysql
        - redis
...
Run Code Online (Sandbox Code Playgroud)
    redis:
        image: 'redis:alpine'
        ports:
            - '${FORWARD_REDIS_PORT:-6379}:6379'
        volumes:
            - 'sailredis:/data'
        networks:
            - sail
        healthcheck:
          test: ["CMD", "redis-cli", "ping"]
Run Code Online (Sandbox Code Playgroud)

最后,在volumes

volumes:
    sailmysql:
        driver: local
    sailredis:
        driver: local

Run Code Online (Sandbox Code Playgroud)

您还可以开始一个全新的项目

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

Run Code Online (Sandbox Code Playgroud)

然后引用生成的docker-compose.yml

编辑后,保存然后运行./vendor/bin/sail build即可sail up -d

  • 命令“php artisan sail:add service”现在也可以使用。因此,如果之前没有安装 Redis,请使用“php artisan sail:add redis”。 (8认同)

flo*_*len 12

php artisan sail:install您只需再次发出命令即可

现在选择您需要的服务并将它们分开,

例如0, 3, 7 ,这将更新您的docker-compose.yml文件并添加MySQL, Redis, Mailhog. 不过它可能会覆盖您的一些旧设置!

一旦您再次开始航行,它就会取消服务,您就可以出发了。