资料
- laradock文档
https://laradock.linganmin.cn/zh/introduction/#%E7%AE%80%E4%BB%8B
- 可以使用
Portainer
进行可视化的操作和查看
安装
- clone github仓库
git clone https://github.com/Laradock/laradock.git
- env-example 复制命名为 .env
# 本机项目存放的目录,默认是和laradock同级,视个人情况修改
APP_CODE_PATH_HOST=../laradock-www
# 容器中存放项目的目录,是会和本机项目的目录建立起软链接
APP_CODE_PATH_CONTAINER=/www
# 存放数据的目录
DATA_PATH_HOST=../laradock-data
.
.
# 将原本的latest删除,修改mysql版本为8.0
- MYSQL_VERSION=latest
+ MYSQL_VERSION=8.0
- 最好设置下时区
WORKSPACE_TIMEZONE=PRC
- nginx,mysql,redis等端口和账号密码根据项目情况自行在..env中修改
- php扩展配置
PHP_VERSION
PHP_INTERPRETER
Xdebug
- xdebug配置,需要同时配置
workspace
和php-fpm
- xdebug版本问题
默认安装的xdebug可能是xdebug3, xdebug3和2 的配置有一些变动,laradock的默认配置只支持xdebug2,会导致xdebug无法使用,需要用xdebug3可以去查官方文档修改配置即可,不然强制安装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 \
# #这里会导致安装上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
###########################################################################
启动
- 启动前确保docker hub镜像源已配置国内加速
- 运行docker-compose构建容器(需要啥启动啥)
docker-compose up -d nginx php-fpm mysql redis workspace
切换源
由于Laradock中的软件源并没有为国内做优化,都是默认在国外的。所以构造速度视网络情况,如果比较慢可以只构建基本的nginx和mysql,它们会自动构建php-fpm 和 workspace这两个两个容器,后续需要什么服务等要用到时候再去构建。如果特别的慢可以去找下Laradock国内修改版的。
laradock 的环境配置可以切换源
### 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
支持多种选择,具体情况请查看 workspace/sources.sh
文件
NVM 安装问题
- 设置node镜像源
在 env 文件中设置WORKSPACE_NVM_NODEJS_ORG_MIRROR
为https://npm.taobao.org/mirrors/node
- laradock 启动时 nvm 报错 raw.githubusercontent.com
1.Ping 一下这个地址raw.githubusercontent.com
是否能 Ping 得通
2.ping 不通后 在 https://www.ipaddress.com/ 查询 raw.githubusercontent.com 的真实 IP
3.修改本地 host 文件,手工添加到/etc/hosts
, 比如199.232.28.133 raw.githubusercontent.com
- 如果用不上node的话,就去.env配置文件里把node,yarn,npm等与node相关的下载配置改为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
其他说明:
- 修改php.ini的部分配置不起作用,比如修改内存限制
memory_limit
:
需要修改laradock/php-fpm/laravel.ini
中的memory_limit
,然后重新构建php容器并启动:
docker-compose build php-fpm
docker-compose up -d php-fpm
- 重新构建指定容器
docker-compose up -d --force-recreate --build workspace php-fpm
- 不使用缓存构建容器
docker-compose build --no-cache workspace php-fpm