本文介绍下 Laradock
的安装与配置、理论上Windows
和 Mac
都适用
依赖
- git
- docker
通过 homebrew
安装 docker
,或者也可以去官网下载最新的安装包
brew cask install docker
通过 homebrew
安装 git
brew install git
推荐直接下载安装包、已安装包的方式进行下载
安装 Laradock
在项目同济目录下安装
代码语言:javascript复制git clone https://github.com/LaraDock/laradock.git
启动 LaraDock
进入 laradock
目录将 env-example
重命名为 .env
cd laradock
cp env-example .env
运行容器
代码语言:javascript复制docker-compose up -d nginx mysql redis
Nginx 配置
在 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 项目
代码语言:javascript复制composer create-project --prefer-dist laravel/laravel blog
这样就可以跑起这个项目了.
连接 MySQL
默认情况下 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
代码语言:javascript复制docker-compose up -d mysql
laravel 中使用 MySQL
在 laravel
中使用 MySQL
需要指定 DB_HOST
为 mysql
DB_CONNECTION=mysql
DB_HOST=mysql
在 workspace 容器中执行 php artisan
代码语言:javascript复制docker-compose exec workspace bash
cd /var/www/blog
php artisan migrate
laradock 常用命令
停止所有容器运行
代码语言:javascript复制docker-compose stop
停止单个容器运行
代码语言:javascript复制docker-compose stop {container name}
删除所有容器
代码语言:javascript复制docker-compose down
删除指定容器
代码语言:javascript复制docker-compose down {container name}
后台启动容器(本地没有镜像则会先pull)
代码语言:javascript复制docker-compose up -d {container name}
进入容器
代码语言:javascript复制docker-compose exec {container name} bash
查看正在运行的容器
代码语言:javascript复制docker-compose ps
查看历史所有的容 器
代码语言:javascript复制docker-compose ps -a
查看日志文件
代码语言:javascript复制docker logs {container name}
重建所有容器
代码语言:javascript复制docker-compose build
重建某个容器
代码语言:javascript复制docker-compose build {container name}
退出容器
代码语言:javascript复制exit