基於docker快速搭建多平臺laravel環境-laradock
現在docker技術越來越火,docker的應用也越來越多。
我們爲什麼要用docker呢,因爲它能提供你一個純淨的環境,能統一所有開發人員的環境,公司的技術有很多人,那每個人裝的環境都可能不一樣,你是php7.3,他是php7.0,你是mysql8.0,他是mysql5.6,這些環境上的差異有時候會導致代碼的錯誤。
還有環境這東西裝一次就夠用了,你家裏的電腦環境和公司的環境也有可能不一致。使用docker裝環境之後,我們可以裝完之後打包起來,在任何一個docker上運行這個配置文件都可以生成相同的環境。
下載安裝
git clone https://github.com/Laradock/laradock.git
把這個庫克隆下來以後,進入目錄
cd [your work]/laradock
複製env-example文件到.env文件
cp env-example .env
修改.env配置
DB_HOST=mysql
REDIS_HOST=redis
在.env中配置工作目錄,如果你的目錄wwwroot和laradock目錄同級則這樣設置
APP_CODE_PATH_HOST=../wwwroot
配置nginx文件,打開 ./nginx/sites/default.conf,修改下面兩行
/var/www
目錄相當於上面配置的…/wwwroot目錄
server_name your server name;
root /var/www/[your dir]/public;
使用
啓動docker 程序
docker-compose up -d nginx redis mysql
如果啓動中報錯
ERROR: Service ‘mysql’ failed to build: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
報這種錯誤,那麼你需要一個docker鏡像加速器了,可以使用daocloud的加速器。
https://www.daocloud.io/mirror#accelerator-doc
按照配置添加完以後再次運行命令就可以了
.env文件參數介紹
PHP_VERSION=7.3 這個參數是php的版本,默認php7.3
PHALCON_VERSION=3.4.5 phalcon的版本
PHP_INTERPRETER=php-fpm php解釋器,默認php-fpm
nginx 配置
NGINX_HOST_HTTP_PORT=80 //nginx http 端口
NGINX_HOST_HTTPS_PORT=443 //nginx https 端口
NGINX_HOST_LOG_PATH=./logs/nginx/ //nginx 日誌
NGINX_SITES_PATH=./nginx/sites/ //nginx 配置
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm //nginx 使用php-fpm連接php
NGINX_PHP_UPSTREAM_PORT=9000 //php端口
NGINX_SSL_PATH=./nginx/ssl/ //ssl
mysql配置
MYSQL_VERSION=5.7 mysql版本 默認是8.0 建議修改成5.7
MYSQL_DATABASE=default 數據庫
MYSQL_USER=default 用戶名
MYSQL_PASSWORD=secret 密碼
MYSQL_PORT=3306 mysql 端口
MYSQL_ROOT_PASSWORD=root mysql root 密碼
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
REDIS_PORT=6379 redis端口