【问题标题】:Laravel Sail won't build on Ubuntu 20.04 - groupadd: invalid group ID 'sail'Laravel Sail 不会在 Ubuntu 20.04 上构建 - groupadd:无效的组 ID 'sail'
【发布时间】:2021-07-17 08:08:17
【问题描述】:

我试图在新的 ubuntu 安装上使用 docker 设置 laravel/sail。 遵循本手册后:https://laravel.com/docs/8.x/installation#getting-started-on-linux

我在起航时收到无效组 ID 航行错误(已创建别名,因此我不再需要使用 ./vendor/bin/sail up)。

groupadd: invalid group ID 'sail'
ERROR: Service 'laravel.test' failed to build : The command '/bin/sh -c groupadd --force -g $WWWGROUP sail' returned a non-zero code: 3

【问题讨论】:

  • 你能分享一下你设置风帆的具体步骤,以及你是如何创建别名的吗?
  • @apokryfos alias sail='bash vendor/bin/sail' 不过没关系,./vendor/bin/sail up 也不行
  • 剩下的步骤怎么样?

标签: php laravel docker ubuntu ubuntu-20.04


【解决方案1】:

如果您运行docker-compose up,就会发生这种情况,如果您运行sail up,它将按预期工作。

您可能需要先配置别名:

alias sail='bash vendor/bin/sail'

【讨论】:

  • docker 主机上没有安装 PHP,所以不能运行 composer install 到依赖然后运行sails
【解决方案2】:

您可以将其添加到 .env 文件中

WWWGROUP=1000
WWWUSER=1000

这两个值都应该是 1000,但你也可以从 bash 中获取它们

id -g <username>
id -u <username>

【讨论】:

  • 我发现这是解决当前问题的有效解决方案,但它会导致其他不同的问题(使用 docker-compose 而不是 wail 包装器)。
  • peter.babic,你发现了哪些问题?
  • @andrea-matioli 权限相关问题,目前还不能完全确定。我还发布了一个简短的,不是很有用的评论 Github 评论 here
【解决方案3】:

问题出在作曲家本身。重新安装并清除 docker 映像后,它开始构建它!

【讨论】:

  • 由于直接运行docker-compose up 而不是使用sail up,我得到了这个。似乎 shell 脚本做了很多额外的繁重工作。可能是您没有使用sail 命令进行初始构建,导致一些问题。
【解决方案4】:

你可以通过运行这个来解决这个问题,然后再创建docker-compose up:

export APP_SERVICE=${APP_SERVICE:-"laravel.test"}
export DB_PORT=${DB_PORT:-3306}
export WWWUSER=${WWWUSER:-$UID}
export WWWGROUP=${WWWGROUP:-$(id -g)}

这是sai每次运行命令时都会做的事情,但是当你直接运行docker-compose时,你需要先做。

你可以在这里看到这个:https://github.com/laravel/sail/blob/1.x/bin/sail#L21

【讨论】:

  • 虽然它可能解决了问题,但真正的原因是直接使用了docker-compose 而不是sail 脚本。
猜你喜欢
  • 2021-08-30
  • 2021-04-04
  • 2021-08-30
  • 2023-01-11
  • 2021-09-01
  • 2021-10-16
  • 2021-11-02
  • 2021-07-07
  • 1970-01-01
相关资源
最近更新 更多