答案是直接在laradock的.env中配置workspace_composer_repo_packagist更可靠:该变量在workspace镜像构建阶段注入并写入/root和/home/laradock的composer全局配置,容器重建后自动生效;手动config -g易被覆盖且不可复用。

直接在 .env 里配好镜像,比进容器手动执行 composer config -g 更可靠、更可复用。 手动配置容易被容器重建覆盖,且不同开发者环境不一致;而 .env 是 Laradock 的配置中枢,改一次,所有新启的 workspace 容器自动生效。
为什么 WORKSPACE_COMPOSER_REPO_PACKAGIST 必须在 .env 中设置
这个变量是 Laradock 自定义的构建时注入项,只在 workspace 镜像构建阶段读取并写入容器内的全局 Composer 配置。它不是运行时环境变量,不会影响已启动容器的当前行为——但下次 docker-compose build workspace 或拉取新版镜像后,新容器就自带镜像源。
- 如果只在容器里执行
composer config -g repo.packagist https://mirrors.aliyun.com/composer/,重启容器或重建后失效 -
WORKSPACE_COMPOSER_REPO_PACKAGIST的值会被写入/root/.composer/config.json和/home/laradock/.composer/config.json,覆盖默认 packagist.org - 阿里云镜像(
https://mirrors.aliyun.com/composer/)目前仍稳定可用,Laravel China 镜像(https://packagist.laravel-china.org)自 2023 年起已停止维护,不建议使用
docker-compose exec workspace bash 进去后发现镜像没生效?检查三件事
即使 .env 已配置,进入容器后仍可能看到旧源,常见于缓存、权限或配置未加载场景:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 确认是否 rebuild 过
workspace:执行docker-compose build --no-cache workspace再up -d,避免复用旧镜像 - 检查用户身份:Laradock 默认以
laradock用户运行命令,但composer config -g写的是 root 用户的配置;应改用sudo -u laradock composer config -g ...或确保.env配置已同时写入/home/laradock/.composer/config.json - 验证实际生效源:
composer config -g repo.packagist输出应为https://mirrors.aliyun.com/composer/;若为空或仍是 packagist.org,说明构建阶段未成功注入
国内网络下还必须同步改 npm 和 Node.js 镜像
Laradock 的 workspace 容器常需同时跑 composer install 和 npm install,npm 源卡住会导致前端资源编译失败,进而让整个 artisan serve 或 npm run dev 流程中断。
- 在
.env中一并设置:WORKSPACE_NPM_REGISTRY=https://registry.npm.taobao.org(注意:npm.taobao.org 已于 2022 年迁移至https://registry.npmmirror.com,推荐更新为后者) - Node.js 二进制下载源也要换:
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node - 若项目依赖
pnpm,还需额外加:WORKSPACE_PNPM_REGISTRY=https://registry.npmmirror.com
最易被忽略的一点:Laradock 的 .env 配置变更后,workspace 容器必须重建才能生效——不是 restart,也不是 exec 重连,而是 docker-compose build workspace + docker-compose up -d workspace。否则你改了十次 .env,容器里看到的还是最初构建时的配置。










