Laradock 的安装与使用

2019-12-18 11:26:13 浏览数 (1)

本文介绍下 Laradock 的安装与配置、理论上WindowsMac 都适用

依赖

  • git
  • docker

通过 homebrew 安装 docker,或者也可以去官网下载最新的安装包

代码语言:javascript复制
brew cask install docker

通过 homebrew 安装 git

代码语言:javascript复制
brew install git

推荐直接下载安装包、已安装包的方式进行下载

安装 Laradock

在项目同济目录下安装

代码语言:javascript复制
git clone https://github.com/LaraDock/laradock.git

启动 LaraDock

进入 laradock 目录将 env-example 重命名为 .env

代码语言:javascript复制
cd laradock
cp env-example .env

运行容器

代码语言:javascript复制
docker-compose up -d nginx mysql redis

Nginx 配置

laradock/nginx/sites 下新建 blog.conf 文件

代码语言:javascript复制
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

代码语言:javascript复制
docker-compose up -d nginx

部署项目

编辑 laradock 目录下的 .env 文件,制定项目代码目录

代码语言:javascript复制
APP_CODE_PATH_HOST=../Code/

这样本地下的 ~/Code 目录 就和 容器中的 /var/www/ 目录形成映射。

进入到工作区 workspace

代码语言:javascript复制
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 文件

代码语言:javascript复制
MYSQL_VERSION=5.7
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root

修改 MYSQL_VERSION5.7

接着重新 build MySQL

代码语言:javascript复制
docker-compose build --no-cache mysql

运行MySQL

代码语言:javascript复制
docker-compose up -d mysql

laravel 中使用 MySQL

laravel 中使用 MySQL 需要指定 DB_HOSTmysql

代码语言:javascript复制
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               

0 人点赞