将 non-root 用 户 添 加 到 开 发 容 器 中
Sat 31 July 2021
一 大 加 贝
没 有 成 功 non-root 即 非 root, 意 思 是 没 有 管 理 员 权 限 ( 根 权 限 ) 。
默 认 的 Docker 镜 像 使 用 的 是 root 用 户 作 为 默 认 用 户 , 但 是 实 际 开 发 中 , 我 需 要 non-root 用 户 , 这 样 使 运 行 环 境 更 安 全 。
为 VS Code (server) 指 定 用 户
如 果 你 使 用 的 镜 像 或 Dockerfile 已 经 提 供 了 一 个 可 供 选 择 的 non-root 用 户 , 但 默 认 默 认 用 户 仍 然 是 root。 可 以 选 择 让 VS Code (server) 和 任 何 子 进 程 ( 终 端 、 任 务 、 调 试 ) 使 用 它 , 方 法 是 在 devcontainerjson 中 指 定 remoteUser 属 性 :
1“remoteUser“: “user-name-goes-here“
在 Linux 上 , 如 果 在 devcontainerjson 中 引 用 Dockerfile 或 映 像 , 这 还 将 自 动 更 新 容 器 用 户 的 UID/GID 以 匹 配 的 本 地 用 户 , 从 而 避 免 此 环 境 中 存 在 的 绑 定 装 入 权 限 问 题 ( 除 非 设 置 了 “updateremoteuserid“: false)。 在 Docker Compose 实 例 中 , 容 器 用 户 的 UID/GID 不 会 被 更 新 , 但 是 可 以 在 Dockerfile 中 手 动 更 改 这 些 值 。
由 于 此 设 置 仅 影 响 VS 代 码 和 相 关 子 过 程 , 因 此 需 要 重 新 启 动 VS 代 码 ( 或 重 新 加 载 窗 口 ) 才 能 生 效 。 但 是 ,UID/GID 更 新 仅 在 创 建 容 器 时 应 用 , 并 且 需 要 重 新 生 成 才 能 更 改 。
介 | 十 nhn_rnn+ 田 户 o E T
用 , 并 且 需 要 重 新 生 成 才 能 更 改 。 创 建 non-root 用 户
RARRG USERNAME=user-name-goes-here
3 RRG USER_UID=1000 3 ARG USER_GID=$USER_UID 一 Create the user 6 RUN groupadd --gid $USER_GID $USERNAME 、 7 && useradd =-uid $USER_UID --gid $USER_GID -m $USERNAME \ 江 8 水 [Optional] Add sudo support。0mit if you don t need to install software after 10 connecting 。
11 E& apt-get Update \ 12 E8& apt-get itnstall -y Sudo \ && echo $USERNAME RLL=\ (Foot) NOPASSWND:ALD > /etc/sudoers .d/$USERNAME \
1 && chmod 0440_/etc/sudoers .d/$USERNAME k
17 水 x Anythtng else you want to do ltke clean up goes here + 菊 标定 定 宏 标定 林 洁 宏 林 宏 许 河
时 3 一 [Optional] Set the default user。Omit if you want to keep the default as root。 USER $USERNAME
改 变 已 存 在 用 户 的 UID/GID
当 remoteUser 属 性 在 Linux 上 使 用 Dockerfile 或 镜 像 时 尝 试 根 据 需 自 动 更 新 UID/GID 时 , 可 以 使 用 Dockerfile 中 的 这 个 代 码 片 段 手 动 更 改 用 户 的 UID/GID。 根 据 需 要 更 新 ARG 值 。
1 ARG USERNAME=uger-name-goes-here 2 RRG USER_UID=1000 3 ARG USER_GID=$USBR_UID
5 RUN groupmod --gid $USER_GID $USERNAME \ 6 “&g& usermod ~-uid $USER_UID --gid $USER_GID $USERNAME \ 7 gg chown -R $USER_UID:$USER_GID /home /$USERNAME
ref:
https:/codewisualstudio.ccomy/docs/remote/containers-
Category: 杂物