1.克隆項目
git clone https://github.com/Laradock/laradock.git
2.進(jìn)入 laradock 目錄將 env-example 重命名為 .env:
cp env-example .env
然后在 .env 中修改鏡像構(gòu)建過程中 Linux 軟件源為國內(nèi)鏡像以免鏡像構(gòu)建過程中出現(xiàn)網(wǎng)絡(luò)超時問題:
# If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
CHANGE_SOURCE=true
# Set CHANGE_SOURCE and UBUNTU_SOURCE option if you want to change the Ubuntu system sources.list file.
UBUNTU_SOURCE=aliyun
3.構(gòu)建鏡像 & 啟動容器:
docker-compose up -d nginx mysql redis
4.打開 Laravel 項目的 .env 文件并添加如下配置:
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
要測試配置訪問域名指向 Docker 環(huán)境目錄振坚,我們先在 laradock 父級目錄下創(chuàng)建一個與 laradock 同級的 wwwroot 目錄税灌,然后在 wwwroot 目錄下運行 composer create-project laravel/laravel blog --prefer-dist 命令創(chuàng)建一個新的 Laravel 應(yīng)用绑莺。
您的文件夾結(jié)構(gòu)應(yīng)如下所示:
- laradock
- wwwroot
- ---blog
然后我們需要到 laradock 下編輯 .env 中的 APP_CODE_PATH_HOST 配置項:
APP_CODE_PATH_HOST=../wwwroot/
這樣就相當(dāng)于為 wwwroot 與 Docker 的 /var/www 目錄建立了軟鏈接,然后我們在 laradock/nginx/sites 目錄下新增一個 blog.conf 配置,設(shè)置虛擬域名為 blog.test:
server {
listen 80;
listen [::]:80;
server_name blog.test;
root /var/www/blog/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass php-upstream;
fastcgi_index index.php;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout 600;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
location /.well-known/acme-challenge/ {
root /var/www/letsencrypt/;
log_not_found off;
}
}
5.將域添加到主機(jī)文件。 vim /etc/hosts
127.0.0.1 blog.test
6.需要重啟 Docker 的 Nginx
docker-compose down
docker-compose up -d nginx
7.瀏覽器訪問 http://blog.test