1.克隆项目
git clone https://github.com/Laradock/laradock.git
2.进入 laradock 目录将 env-example 重命名为 .env:
cp env-example .env
然后在 .env 中修改镜像构建过程中 Linux 软件源为国内镜像以免镜像构建过程中出现网络超时问题:
# 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.构建镜像 & 启动容器:
docker-compose up -d nginx mysql redis
4.打开 Laravel 项目的 .env 文件并添加如下配置:
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
要测试配置访问域名指向 Docker 环境目录,我们先在 laradock 父级目录下创建一个与 laradock 同级的 wwwroot 目录,然后在 wwwroot 目录下运行 composer create-project laravel/laravel blog --prefer-dist 命令创建一个新的 Laravel 应用。
您的文件夹结构应如下所示:
- laradock
- wwwroot
- ---blog
然后我们需要到 laradock 下编辑 .env 中的 APP_CODE_PATH_HOST 配置项:
APP_CODE_PATH_HOST=../wwwroot/
这样就相当于为 wwwroot 与 Docker 的 /var/www 目录建立了软链接,然后我们在 laradock/nginx/sites 目录下新增一个 blog.conf 配置,设置虚拟域名为 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.将域添加到主机文件。 vim /etc/hosts
127.0.0.1 blog.test
6.需要重启 Docker 的 Nginx
docker-compose down
docker-compose up -d nginx
7.浏览器访问 http://blog.test