本文介绍下 Laradock 的安装与配置、理论上Windows 和 Mac 都适用
通过 homebrew 安装 docker,或者也可以去官网下载最新的安装包
brew cask install docker通过 homebrew 安装 git
brew install git推荐直接下载安装包、已安装包的方式进行下载
在项目同济目录下安装
git clone https://github.com/LaraDock/laradock.git进入 laradock 目录将 env-example 重命名为 .env
cd laradock
cp env-example .env运行容器
docker-compose up -d nginx mysql redis在 laradock/nginx/sites 下新建 blog.conf 文件
server {
listen 80 ;
listen [::]:80 ;
# For https
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server ipv6only=on;
# ssl_certificate /etc/nginx/ssl/default.crt;
# ssl_certificate_key /etc/nginx/ssl/default.key;
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;
}
}重启 Nginx
docker-compose up -d nginx编辑 laradock 目录下的 .env 文件,制定项目代码目录
APP_CODE_PATH_HOST=../Code/这样本地下的 ~/Code 目录 就和 容器中的 /var/www/ 目录形成映射。
进入到工作区 workspace
docker-compose exec workspace bash
cd /var/www/安装 laravel 项目
composer create-project --prefer-dist laravel/laravel blog这样就可以跑起这个项目了.
默认情况下 laradock 安装的 MySQL 版本为 latest ,也就是8.0。但是 8.0 在 Mac 下 使用 Sequel Pro 连接会出现一点问题、导致连接不上,所以切到5.7 的版本
编辑 laradock 下 .env 文件
MYSQL_VERSION=5.7
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root修改 MYSQL_VERSION 为 5.7
接着重新 build MySQL
docker-compose build --no-cache mysql运行MySQL
docker-compose up -d mysql在 laravel 中使用 MySQL 需要指定 DB_HOST 为 mysql
DB_CONNECTION=mysql
DB_HOST=mysql在 workspace 容器中执行 php artisan
docker-compose exec workspace bash
cd /var/www/blog
php artisan migrate停止所有容器运行
docker-compose stop停止单个容器运行
docker-compose stop {container name}删除所有容器
docker-compose down删除指定容器
docker-compose down {container name}后台启动容器(本地没有镜像则会先pull)
docker-compose up -d {container name}进入容器
docker-compose exec {container name} bash查看正在运行的容器
docker-compose ps查看历史所有的容 器
docker-compose ps -a查看日志文件
docker logs {container name}重建所有容器
docker-compose build重建某个容器
docker-compose build {container name}退出容器
exit