Laradock注意事项

Laradock遇到的坑#

Copy Highlighter-hljs
修改php版本在`.env`中 PHP_VERSION=7.3 修改mysql版本`.env`中MYSQL_VERSION=5.7

1:镜像资源下载慢#

在 env 文件中设置:

Copy Highlighter-hljs
docker 本身的 Registry Mirrors 可以设置为 http://hub-mirror.c.163.com 加速镜像的下载,或者去注册个阿里云开发者账号登录后可以享用免费的阿里云镜像加速服务。 "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"], CHANGE_SOURCE=true UBUNTU_SOURCE=aliyun 最好设置一下时区 WORKSPACE_TIMEZONE=PRC

2: 构建workspace速度慢#

1、在 env 文件中设置:
CHANGE_SOURCE=true
UBUNTU_SOURCE=aliyun
注:UBUNTU_SOURCE 支持多种选择,具体情况请查看 workspace/sources.sh 文件

2、打开laradock目录下的workspace下的Dockerfile

在该处添加中科大的源也就是国内加速

Copy Highlighter-hljs
find /etc/apt/sources.list.d/ -type f -name "ondrej-ubuntu-php-xenial.list" -exec sed -i.bak -r 's#deb(-src)?\s*http(s)?://ppa.launchpad.net#deb\1 https\2://launchpad.proxy.ustclug.org#ig' {} \; && \

3:构建workspace时,报错提示/tmp/sources.sh: not found#

git bash 中 切换到 laradock 目录

Copy Highlighter-hljs
vi ./workspace/sources.sh :set ff=unix :wq

4:构建 workspace 时 node 安装失败#

https://githubusercontent.com.ipaddress.com/raw.githubusercontent.com

访问上面的链接,得到的ip地址写入host即可解决

5:laradock mysql问题#

1、ERROR: for mysql Cannot start service mysql: Ports are not available: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

解决方法:

.env中换一个端口

Copy Highlighter-hljs
- MYSQL_PORT=3306 + MYSQL_PORT=3307

2、2021-01-13T05:44:31.496781Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!

解决方法:

出现的原因是 一开始我是用了 5.8 ,然后数据目录存了一些数据,我换成5,7的时候 没有把数据删掉,再重新启动的时候,数据目录还是指向原来的数据,版本的数据格式不一样, 清空 数据目录的数据,便可以启动了。(C:\Users\user.laradock\data)

6:laradock php-fpm问题#

Copy Highlighter-hljs
修改为false CHANGE_SOURCE=false 运行 docker-compose build --no-cache --pull php-fpm

修改代码必须重启#

  • 使用 Laradock 作为本地开发环境,修改了 Laravel 代码之后必须重启 Docker 才能使代码生效

  • 修改docker-compose.yml必须重启 Docker 才能生效

Copy Highlighter-hljs
docker-compose stop docker-compose up -d nginx mysql
  • 修改laradock mysql端口

在docker-compose.yml文件
command+ f 搜索mysql

Copy Highlighter-hljs
### MySQL ################################################ mysql: build: context: ./mysql args: - MYSQL_VERSION=${MYSQL_VERSION} environment: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - TZ=${WORKSPACE_TIMEZONE} volumes: - ${DATA_PATH_HOST}/mysql:/var/lib/mysql - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d ports: # - "${MYSQL_PORT}:3306" #修改这一行,我将其注释掉了 - "3308:3306" #改成不冲突的端口 第一个是本地端口 第二个是容器中的端口 networks: - backend

laradock 如何添加 redis 配置#

修改 Dockerfile

编辑 redis/Dockerfile 如下

Copy Highlighter-hljs
FROM redis:latest LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" ## For security settings uncomment, make the dir, copy conf, and also start with the conf, to use it RUN mkdir -p /usr/local/etc/redis COPY redis.conf /usr/local/etc/redis/redis.conf VOLUME /data EXPOSE 6379 CMD ["redis-server", "/usr/local/etc/redis/redis.conf"] #CMD ["redis-server"]

编辑配置文件*

Copy Highlighter-hljs
默认情况 redis 目录下有 redis.conf 文件,修改以下两点即可 注释 bind 127.0.0.1 protected-mode 改为 no requirepass 设置密码 其他配置根据自己情况进行修改。 切换到 laradock 目录 重装 redis 停止 redis docker-compose stop redis 重装 docker-compose build --no-cache redis 启动 docker-compose up -d redis 正常情况就启动成功了。

几个常用命令

Copy Highlighter-hljs
php -m // php -i |grep php.ini //查看php.ini位置 php --ri swoole //读取swoole信息 redis-cli //用于启动redis客户端
posted @   caibaotimes  阅读(990)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
CONTENTS