Skip to content

踩坑GitHub frankarobotics/franka_description2 个月前

franka_description Docker构建因UID/GID与基础镜像用户冲突失败 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Dockerfile fails to build when UID/GID matches with the existing docker image user(GitHub frankarobotics/franka_description #28)

状态:已解决

问题 ​

在osrf/ros:jazzy-desktop基础镜像上构建franka_description时,若宿主机传入的USER_UID/USER_GID(如1000:100)与镜像内已有ubuntu用户ID重合,RUN groupadd和useradd命令会报GID/UID already exists错误导致构建中断。

环境 ​

基础镜像osrf/ros:jazzy-desktop;franka_description仓库main分支;宿主机用户UID:GID为1000:100、1000:1000等常见组合;Ubuntu系统默认首用户账户。

解决办法 ​

  1. 在Dockerfile中groupadd/useradd指令前添加RUN if id -u $USER_UID ; then userdel $(id -un $USER_UID) ; fi以清理冲突ID。
  2. 或采用非破坏性修复:仅在ID未被占用时创建用户组与用户,后续操作统一使用UID:GID引用账户而非用户名。
  3. 确保useradd命令包含-s /bin/bash参数以正确设置登录Shell。
  4. 验证修复后HOME目录、/workspaces所有权、XDG_RUNTIME_DIR及xacro工具均正常可用。

讨论原作者:@arntanguy 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub frankarobotics/franka_description #28:Dockerfile fails to build when UID/GID matches with the existing docker image user访问 2026-10-27