laradock 问题总结

资料

  • 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配置,需要同时配置workspacephp-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_MIRRORhttps://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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容