Docker

799 在 chown 命令中用於 Docker 卷訪問是什麼意思?

  • September 27, 2022

我在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

該數字沒有特殊含義。它只是圖像的作者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 繼承自基本映像。

引用自:https://serverfault.com/questions/1111674