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

