在您的計(jì)算機(jī)上的任何位置克隆此存儲庫
git clone https://github.com/Laradock/laradock.git
下載項(xiàng)目
composer create-project --prefer-dist laravel/laravel XXXX
...
項(xiàng)目安裝
安裝 Laravel 安裝程序
composer global require laravel/installer
創(chuàng)建軟鏈接
sudo ln -s $HOME/.config/composer/vendor/bin/laravel /usr/bin/laravel
# 或在 .zshrc 中添加
alias laravel=/Users/hd/.composer/vendor/bin/laravel
創(chuàng)建項(xiàng)目
laravel new test
# 如果不能使用 new 方式創(chuàng)建也可以使用以下方式
composer create-project --prefer-dist laravel/laravel test
目錄結(jié)構(gòu)
最終目錄結(jié)構(gòu)如下
+ laradock
+ hdcms
+ houdunren
軟件配置
重命名env-example
為.env
轻要,.env 是laradock的配置文件。
cp env-example .env
容器構(gòu)建
當(dāng)修改了配置項(xiàng)后需要對鏡像重新編譯
重新編譯Mysql
docker-compose build mysql
重新編譯所有鏡像并禁用緩存
docker-compose build
PHP
更改版本
php版本
修改.env配置文件版本為7.3
PHP_VERSION=7.3
最后重建鏡像
docker-compose build php-fpm
PHP-CLI版本
修改.env配置文件PHP_VERSION
為7.3垦缅。
PHP_VERSION=7.3
最后重建圖像冲泥,執(zhí)行php-cli是在workspace鏡像的容器中所以需要重新構(gòu)建workspace
docker-compose build workspace
Nginx
項(xiàng)目要與 laradock 同級,系統(tǒng)會自動將目錄同步到服務(wù)窗口壁涎,下面是目錄結(jié)構(gòu):
- laradock
- hdcms
- houdunren
站點(diǎn)配置
站點(diǎn)配置需要在 laradock/nginx/sites
目錄中復(fù)制文件凡恍。
cp laravel.conf.example hdcms.conf
內(nèi)容如下
...
server_name hdcms.test;
root /var/www/hdcms/public;
...
再復(fù)制創(chuàng)建houdunren.conf,內(nèi)容如下
...
server_name houdunren.test;
root /var/www/hdcms/public;
...
如果已經(jīng)啟動過容器需要執(zhí)行以下命令
docker-compose build nginx
docker-compose restart nginx
#域名解析
設(shè)置宿主電腦 /etc/hosts
文件內(nèi)容
127.0.0.1 hdcms.test
127.0.0.1 houdunren.test
Mysql
更改版本
默認(rèn)情況下使用MySQL 8.0運(yùn)行怔球。您可能更喜歡使用其他版本嚼酝,如:5.5,5.6,5.7,8.0或最新版本。有關(guān)更多信息竟坛,請參閱https://store.docker.com/images/mysql闽巩。
修改.env laradock配置文件
MYSQL_VERSION=5.7.26
重新編譯
docker-compose build mysql
如果已經(jīng)運(yùn)行則重新啟動
docker-compose restart mysql
訪問
在laravel項(xiàng)目中設(shè)置主機(jī)
DB_HOST=mysql
可以使用 sequel Pro 等客戶端進(jìn)行連接,默認(rèn)連接帳號如下:
host: 127.0.0.1
user: root
password: root
PhpMyAdmin
phpmyadmin
使用該docker-compose up
命令運(yùn)行phpMyAdmin
# use with mysql
docker-compose up -d mysql phpmyadmin
打開瀏覽器并訪問端口8080上的localhost : http://localhost:8080
担汤,登錄信息如下
host: mysql
user: root
password: root
Redis
打開Laravel的.env
文件并將其設(shè)置REDIS_HOST
為redis
REDIS_HOST=redis
啟用Redis緩存和/或會話管理涎跨。還從.env
文件集CACHE_DRIVER
,并SESSION_DRIVER
于redis
而不是默認(rèn)的file
漫试。
CACHE_DRIVER=redis
SESSION_DRIVER=redis
最后確保通過Composer安裝了predis/predis
軟件包:
composer require predis/predis
您可以使用以下代碼從Laravel手動測試它:
\Cache::store('redis')->put('app', 'hdcms', 10);
workspace
worspace容器主要用來管理項(xiàng)目的六敬。 例如:執(zhí)行一些cli的命令、php artisan驾荣、composer外构、php --version普泡。
docker-compose exec --user=laradock workspace bash
php artisan migrate
運(yùn)行項(xiàng)目
運(yùn)行你的容器:
docker-compose up -d nginx mysql phpmyadmin redis workspace
下載鏡像過程非常慢,要耐心等待审编。查看 houdunren.com 相關(guān)docker文檔配置加速器可提升下載速度撼班。
打開瀏覽器并訪問localhost : http://hdcms.test
.
That's it! enjoy :)
容器管理
查看此項(xiàng)目容器(在項(xiàng)目的laradocker目錄執(zhí)行)
docker-compose ps
停止運(yùn)行的所有容器
docker-compose stop
刪除所有服務(wù)窗口
docker-compose down