Laradock 的安裝與使用

  • 2019 年 12 月 18 日
  • 筆記

本文介紹下 Laradock 的安裝與配置、理論上Windows 和 Mac 都適用

依賴

通過 homebrew 安裝 docker,或者也可以去官網下載最新的安裝包

brew cask install docker

通過 homebrew 安裝 git

brew install git

推薦直接下載安裝包、已安裝包的方式進行下載

安裝 Laradock

在項目同濟目錄下安裝

git clone https://github.com/LaraDock/laradock.git

啟動 LaraDock

進入 laradock 目錄將 env-example 重命名為 .env

cd laradock  cp env-example .env

運行容器

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 項目

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

docker-compose up -d mysql

laravel 中使用 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

laradock 常用命令

停止所有容器運行

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               

Tags: