apphp/laravel-docker

为本地Laravel开发设置自己的容器网络的Docker Compose工作流程

安装: 4

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

语言:Makefile

类型:项目

0.5.1 2022-08-30 20:20 UTC

This package is auto-updated.

Last update: 2024-09-07 15:58:42 UTC


README

一个相当简单的Docker Compose工作流程,用于设置本地Laravel开发的容器网络。

用法

要开始使用,请确保您的系统已安装Docker,然后克隆此仓库

要开始使用docker,请执行以下操作

  1. 打开终端并导航到您克隆此目录的位置,或者将 docker/ 目录和 docker-compose.yml 文件复制到您的当前项目,并导航到那里。

  2. 将文件中所有地方的 myapp 名称重命名为您喜欢的应用程序名称。

  3. 运行以下命令以启动Web服务器的容器

docker-compose up --build -d

在构建容器后,您可以使用以下命令启动它们

docker-compose up -d

或者使用以下命令停止

docker-compose down

成功构建网站后,您将通过以下方式访问它

https://:8081

架构

   ___________     ___________     ___________     ___________	
   |         |     |         |     |         |     |         |
   |  NGINX  | --→ | PHP-FPM |     | PHP-CLI |     |  REDIS  |  
   |         |	   |         |     |         |     |         |
   -----------	   -----------     -----------     -----------
        |               |               |
        ↓               ↓               ↓           
   ____________   ______________________________   ______________
   |  Static  |   |                            |   |            |
   | Content  |   |           CODE             |<--| Node & Npm |
   | CSS,JS.. |   |                            |   |            |
   ------------   ------------------------------   --------------

环境配置

请确保您在 .env 文件中创建了以下密钥

DB_DATABASE=your-db
DB_USERNAME=your-db-username
DB_PASSWORD=your-db-password

持久化MySQL存储

当您关闭Docker网络时,MySQL数据将在容器被销毁后删除。这是Docker容器的一个默认行为。如果您希望容器关闭和启动后保留持久数据,请执行以下操作

  1. 在Laravel项目根目录下创建一个 ./storage/docker/mysql 文件夹。
  2. docker-compose.yml 文件中的mysql服务下,添加以下行
volumes:
  - ./storage/docker/mysql:/var/lib/mysql

使用PHP-CLI工作

迁移、种子和导入数据库

在成功构建和运行docker容器后,您可以使用以下命令运行迁移和种子。要执行这些操作,只需在终端中输入并执行以下命令

docker-compose run --rm php-cli php artisan migrate
docker-compose run --rm php-cli php artisan db:seed

使用Composer工作

要安装/移除新包,请运行以下命令

docker-compose run --rm php-cli composer require predis/predis

您要运行的其它命令

docker-compose run --rm php-cli composer --version
docker-compose run --rm php-cli composer dump-autoload
docker-compose run --rm php-cli composer test ExampleTest

使用PHP & Artisan工作

您要运行的命令示例

docker-compose run --rm php-cli php -v
docker-compose run --rm php-cli php artisan migrate
docker-compose run --rm php-cli php artisan db:seed
docker-compose run --rm php-cli php artisan optimize:clear
docker-compose run --rm php-cli php artisan schedule:run

使用Git工作

docker-compose run --rm php-cli git branch
docker-compose run --rm php-cli git pull

使用Redis工作

composer require predis/predis
docker exec -it redis bash
ping
redis-cli
keys *
set name John
get name
exit

使用Node & NPM工作

docker-compose run --rm node npm run dev
docker-compose run --rm node npm run watch
docker-compose run --rm node npm run hot