1.根據laradocker文件的介紹,根據不同情況將laradocker 克隆到伺服器
一般來說laradocker和專案程式碼同級,在多個專案的情況下laradocker跟所有程式碼的上級目錄同級。
2.進入laradock資料夾並複製env-example to .env
cp env-example .env
你可以編輯.env
檔案去選擇你想在環境中安裝的軟體,你始終可以參考docker-compose.yml
檔案去看如何使用這些變數。
根據主機的作業系統,您可能需要更改給定的值 COMPOSE_FILE
的值, 當你在MacOS上執行laradock時要使用的檔案分隔符是:
, 當你在Windows環境上執行laradock時,必須使用 ;
來作為多個檔案的分隔符。
(APP_CODE_PATH_HOST:宿主機上的程式碼目錄, APP_CODE_PATH_CONTAINER:docker容器中的程式碼目錄)
(CHANGE_SOURCE:是否使用中國映象源,UBUNTU_SOURC=aliyun)
(MYSQL_VERSION=latest;MYSQL_DATABASE=default;MYSQL_USER=default;MYSQL_PASSWORD=secret;MYSQL_PORT=3306;MYSQL_ROOT_PASSWORD=root;MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d)
3.執行docker-compose
來構建環境
在laradocker目錄下面執行docker-compose up -d nginx mysql redis php-worker
注意: 大多數情況下 workspace
和 php-fpm
會自動執行, 所以不需要再up
命令中指定它們, 如果你找不到他們,那麼你需要這樣指定它們: docker-compose up -d nginx php-fpm mysql workspace
4.進入Workspace容器, 執行比如(Artisan, Composer, PHPUnit, Gulp, …)等命令docker-compose exec workspace bash
另外, 針對 Windows PowerShell 使用者: 執行以下命令以進入任何正在執行的容器:
docker exec -it {workspace-container-id} bash
5.更新您的專案配置以使用資料庫主機
專案中的配置檔案中的修改:
DB_HOST=mysql;REDIS_HOST=redis
6.配置多個域名,進入laradocker/nginx/sites為訪問的不同的域名建立配置檔案去指向不同的專案目錄
預設情況下laradock包含app.conf.example
, laravel.conf.example
和 symfony.conf.example
作為工作樣本
複製相關配置為*.conf根據需求配置相關配置
7.安裝swoole擴充套件,在laradocker/.env檔案中的WORKSPACE_INSTALL_SWOOLE,PHP_FPM_INSTALL_SWOOLE,PHP_WORKER_INSTALL_SWOOLE設定true。在laradocker目錄下重新執行,重新構建容器docker-compose build php-fpm workspace php-worker
; 再執行docker-compose up -d php-fpm workspace php-worker
8.Laravel佇列工作者php-worker
可到laradocker/php-worker/supervisord.d目錄下配置相關配置。針對swoole使用,監聽埠需要跟宿主機埠對映,可修改laradocker/docker-compose.yml裡的php-worker服務配置埠對映
(各個服務的配置檔案都在laradocker目錄下相對於的服務容器名的目錄下)
本作品採用《CC 協議》,轉載必須註明作者和本文連結