資料
- laradock文檔
https://laradock.linganmin.cn/zh/introduction/#%E7%AE%80%E4%BB%8B
- 可以使用
Portainer
進(jìn)行可視化的操作和查看
安裝
- clone github倉(cāng)庫(kù)
git clone https://github.com/Laradock/laradock.git
- env-example 復(fù)制命名為 .env
# 本機(jī)項(xiàng)目存放的目錄民鼓,默認(rèn)是和laradock同級(jí),視個(gè)人情況修改
APP_CODE_PATH_HOST=../laradock-www
# 容器中存放項(xiàng)目的目錄蓬抄,是會(huì)和本機(jī)項(xiàng)目的目錄建立起軟鏈接
APP_CODE_PATH_CONTAINER=/www
# 存放數(shù)據(jù)的目錄
DATA_PATH_HOST=../laradock-data
.
.
# 將原本的latest刪除嚷缭,修改mysql版本為8.0
- MYSQL_VERSION=latest
+ MYSQL_VERSION=8.0
- 最好設(shè)置下時(shí)區(qū)
WORKSPACE_TIMEZONE=PRC
- nginx,mysql路幸,redis等端口和賬號(hào)密碼根據(jù)項(xiàng)目情況自行在..env中修改
- php擴(kuò)展配置
PHP_VERSION
PHP_INTERPRETER
Xdebug
- xdebug配置付翁,需要同時(shí)配置
workspace
和php-fpm
- xdebug版本問題
默認(rèn)安裝的xdebug可能是xdebug3, xdebug3和2 的配置有一些變動(dòng),laradock的默認(rèn)配置只支持xdebug2着帽,會(huì)導(dǎo)致xdebug無(wú)法使用移层,需要用xdebug3可以去查官方文檔修改配置即可仍翰,不然強(qiáng)制安裝xdebug2就行了,修改php-fpm/Dockerfile
# xDebug:
###########################################################################
ARG INSTALL_XDEBUG=false
RUN pecl install xdebug-2.9.0 && docker-php-ext-enable xdebug
#RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# # Install the xdebug extension
# if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
# pecl install xdebug-2.5.5; \
# else \
# if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
# pecl install xdebug-2.9.0; \
# else \
# #這里會(huì)導(dǎo)致安裝上xdebug最新版
# pecl install xdebug; \
# fi \
# fi && \
# docker-php-ext-enable xdebug \
#;fi
# Copy xdebug configuration for remote debugging
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /usr/local/etc/php/conf.d/xdebug.ini && \
sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /usr/local/etc/php/conf.d/xdebug.ini && \
sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /usr/local/etc/php/conf.d/xdebug.ini
###########################################################################
啟動(dòng)
- 啟動(dòng)前確保docker hub鏡像源已配置國(guó)內(nèi)加速
- 運(yùn)行docker-compose構(gòu)建容器(需要啥啟動(dòng)啥)
docker-compose up -d nginx php-fpm mysql redis workspace
切換源
由于Laradock中的軟件源并沒有為國(guó)內(nèi)做優(yōu)化观话,都是默認(rèn)在國(guó)外的予借。所以構(gòu)造速度視網(wǎng)絡(luò)情況,如果比較慢可以只構(gòu)建基本的nginx和mysql,它們會(huì)自動(dòng)構(gòu)建php-fpm 和 workspace這兩個(gè)兩個(gè)容器灵迫,后續(xù)需要什么服務(wù)等要用到時(shí)候再去構(gòu)建秦叛。如果特別的慢可以去找下Laradock國(guó)內(nèi)修改版的。
laradock 的環(huán)境配置可以切換源
### Environment ###########################################
# If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
CHANGE_SOURCE=true
# Set CHANGE_SOURCE and UBUNTU_SOURCE option if you want to change the Ubuntu system sources.list file.
UBUNTU_SOURCE=aliyun
注:UBUNTU_SOURCE
支持多種選擇瀑粥,具體情況請(qǐng)查看 workspace/sources.sh
文件
NVM 安裝問題
- 設(shè)置node鏡像源
在 env 文件中設(shè)置WORKSPACE_NVM_NODEJS_ORG_MIRROR
為https://npm.taobao.org/mirrors/node
- laradock 啟動(dòng)時(shí) nvm 報(bào)錯(cuò) raw.githubusercontent.com
1.Ping 一下這個(gè)地址raw.githubusercontent.com
是否能 Ping 得通
2.ping 不通后 在 https://www.ipaddress.com/ 查詢 raw.githubusercontent.com 的真實(shí) IP
3.修改本地 host 文件,手工添加到/etc/hosts
, 比如199.232.28.133 raw.githubusercontent.com
- 如果用不上node的話挣跋,就去.env配置文件里把node狞换,yarn,npm等與node相關(guān)的下載配置改為false避咆。(
解決提出問題的人)
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
WORKSPACE_INSTALL_NODE=false
WORKSPACE_NODE_VERSION=node
WORKSPACE_NPM_REGISTRY=
WORKSPACE_INSTALL_PNPM=false
WORKSPACE_INSTALL_YARN=false
WORKSPACE_YARN_VERSION=latest
WORKSPACE_INSTALL_NPM_GULP=false
WORKSPACE_INSTALL_NPM_BOWER=false
WORKSPACE_INSTALL_NPM_VUE_CLI=false
WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false
其他說(shuō)明:
- 修改php.ini的部分配置不起作用,比如修改內(nèi)存限制
memory_limit
:
需要修改laradock/php-fpm/laravel.ini
中的memory_limit
修噪,然后重新構(gòu)建php容器并啟動(dòng):
docker-compose build php-fpm
docker-compose up -d php-fpm
- 重新構(gòu)建指定容器
docker-compose up -d --force-recreate --build workspace php-fpm
- 不使用緩存構(gòu)建容器
docker-compose build --no-cache workspace php-fpm