🖊️
LinuxServer.io | 中文
  • ReadMe
  • 前言的前言
    • 安装Docker
    • 关于Docker的几点常识
    • Portainer - 可视化管理Docker
  • 前言
  • 概述
    • 进入容器
    • Docker容器入门
    • 运行LinuxServer的容器
    • Docker Compose
    • 什么是PUID和PGID
    • 更新容器
    • 卷(Volumes)
    • Fleet
    • 部署SWAG
  • Docker镜像
    • linuxserver/mariadb
    • linuxserver/airsonic
    • linuxserver/bazarr
    • linuxserver/beets
    • linuxserver/boinc
    • linuxserver/booksonic-air
    • linuxserver/booksonic
    • linuxserver/bookstack
    • linuxserver/calibre-web
    • linuxserver/calibre
    • linuxserver/cardigann
    • linuxserver/clarkson
    • linuxserver/cloud9
    • linuxserver/code-server
    • linuxserver/codiad
    • linuxserver/codimd
    • linuxserver/cops
    • linuxserver/couchpotato
    • linuxserver/daapd
    • linuxserver/davos
    • linuxserver/ddclient
    • linuxserver/deluge
    • linuxserver/digikam
    • linuxserver/dillinger
    • linuxserver/diskover
    • linuxserver/docker-compose
    • linuxserver/dokuwiki
    • linuxserver/domoticz
    • linuxserver/doublecommander
    • linuxserver/duckdns
    • linuxserver/duplicati
    • linuxserver/emby
    • linuxserver/embystat
    • linuxserver/ffmpeg
    • linuxserver/fleet
    • linuxserver/foldingathome
    • linuxserver/freshrss
    • linuxserver/gazee
    • linuxserver/grocy
    • linuxserver/guacd
    • linuxserver/habridge
    • linuxserver/headphones
    • linuxserver/healthchecks
    • linuxserver/heimdall
    • linuxserver/htpcmanager
    • linuxserver/hydra
    • linuxserver/ipfs
    • linuxserver/jackett
    • linuxserver/jellyfin
    • linuxserver/kanzi
    • linuxserver/lazylibrarian
    • linuxserver/ldap-auth
    • linuxserver/letsencrypt
    • linuxserver/libresonic
    • linuxserver/librespeed
    • linuxserver/lidarr
    • linuxserver/limnoria
    • linuxserver/lychee
    • linuxserver/medusa
    • linuxserver/minetest
    • linuxserver/minisatip
    • linuxserver/mstream
    • linuxserver/musicbrainz
    • linuxserver/muximux
    • linuxserver/mylar
    • linuxserver/mylar3
    • linuxserver/mysql-workbench
    • linuxserver/nano-wallet
    • linuxserver/nano
    • linuxserver/netbootxyz
由 GitBook 提供支持
在本页
  • 为什么要用这个?
  • 使用变量

这有帮助吗?

  1. 概述

什么是PUID和PGID

[!NOTE]

虽然Docker目前已经支持了 --user 参数。但我们的镜像目前还不兼容,所以我们还是建议继续使用PUID和PGID。

为什么要用这个?

因为Docker需要系统中管理网络、文件系统、进程的权限,所以通常是以 root 的身份在运行。这意味着,容器内的用户默认也是以 root 用户运行。这种高权限的访问,并不是日常使用中所推荐的,除非你对linux运维有着深入的理解。

另一个问题就是对容器映射出来的文件的管理。如果进程是以 root 身份运行,那么它所创建的文件的所有者都是 root 用户,这有可能会导致你没有权限去修改这些文件(如果你是以非root身份登陆服务器。)

而是用 PUID 和 PGID 允许我们将容器内的用户权限映射给宿主机上的用户。我们所有的容器都可以使用这种方法来映射用户权限。

使用变量

当使用我们的镜像创建容器时,确保你是用了 -e PUID 和 -e PGID:

docker create --name=beets -e PUID=1000 -e PGID=1000 linuxserver/beets

如果使用 docker-compose ,把他们添加在 environment: 下面:

environment:
  - PUID=1000
  - PGID=1000

你很可能希望使用自己的 id,可以通过下面的命令来查询你当前用户的id。其中 uid 和 gid 分别对应 PUID 和 PGID:

id $user
上一页Docker Compose下一页更新容器

最后更新于4年前

这有帮助吗?