Docker 卷访问的 chown 命令中的 799 是什么意思?

Docker 卷访问的 chown 命令中的 799 是什么意思?

我发现这些行安装指南Thingsboard IoT 平台作为 Docker 容器。如果没有这个技巧,Postgres(嵌入在 Docker 镜像中)就无法将其数据存储到主机上的目录中。

mkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
mkdir -p ~/.mytb-logs && sudo chown -R 799:799 ~/.mytb-logs

答案1

该数字没有特殊含义。它只是镜像作者thingsboard/tb-postgres选择用作容器内 uid 的数字。

$ docker run --rm -it thingsboard/tb-postgres id
uid=799(thingsboard) gid=799(thingsboard) groups=799(thingsboard)

您执行 chown 以便容器内的用户可以对其进行写入。


其实并不相关,但在评论中结束讨论:这是原始 docker 镜像的第二层:

运行 /bin/sh -c apt-get update && apt-get upgrade --yes && apt-get autoremove && apt-get install -y --no-install-recommends procps && apt-get clean && rm -rf /var/lib/apt/lists/* &&addgroup --system thingsboard --gid=799 && adduser --quiet --system --uid=799 --ingroup thingsboard --quiet --disabled-login --disabled-password --no-create-home -gecos "Thingsboard 应用程序" thingsboard

由我突出显示。uid/gid 是从基础图像继承的。

答案2

那么在这种情况下,第一个 799 是用户 ID,第二个 799 是组 ID。

因此,基本上,它将目录的所有者指定为 UID 799 和 GID 799

相关内容