
plexinc/pms-docker通过易用的 Plex Media Server 软件及全平台 Plex 应用(支持手机、平板、流媒体设备、游戏主机、智能电视等),可随时随地向任意设备流式传输视频、音乐和照片收藏。
创建容器前需选择网络类型,主要有三种:
bridge(默认)hostmacvlanbridge:在主机内创建独立网络,通过内部路由器连接物理网络,需手动配置端口转发。
host:直接使用主机 IP,容器网络表现与主机一致。
macvlan:在网络中创建虚拟设备(容器),配置与 host 类似。
推荐优先使用 host 或 macvlan,设置简单且问题少;部分场景可能仅支持 bridge,但配置较复杂。
若使用 docker-compose,仓库提供可修改的 YML 模板文件。
bashdocker run \ -d \ --name plex \ --network=host \ -e TZ="<时区>" \ -e PLEX_CLAIM="<验证令牌>" \ -v <plex数据库路径>:/config \ -v <转码临时路径>:/transcode \ -v <媒体文件路径>:/data \ plexinc/pms-docker
bashdocker run \ -d \ --name plex \ --network=physical \ # 替换为实际 macvlan 网络名称 --ip=<容器IP> \ # 可选,覆盖网络自动分配IP -e TZ="<时区>" \ -e PLEX_CLAIM="<验证令牌>" \ -h <主机名> \ # 必须指定,macvlan 不继承主机名 -v <plex数据库路径>:/config \ -v <转码临时路径>:/transcode \ -v <媒体文件路径>:/data \ plexinc/pms-docker
与 Host 网络的区别:
physical);--ip 自定义容器 IP;-h 设置主机名。bashdocker run \ -d \ --name plex \ -p 32400:32400/tcp \ # 核心通信端口,必填 -p 3005:3005/tcp \ -p 8324:8324/tcp \ -p 32469:32469/tcp \ -p 1900:1900/udp \ -p 32410:32410/udp \ -p 32412:32412/udp \ -p 32413:32413/udp \ -p 32414:32414/udp \ -e TZ="<时区>" \ -e PLEX_CLAIM="<验证令牌>" \ -e ADVERTISE_IP="http://<主机IP>:32400/" \ # 必须指定 -h <主机名> \ -v <plex数据库路径>:/config \ -v <转码临时路径>:/transcode \ -v <媒体文件路径>:/data \ plexinc/pms-docker
注意:
ADVERTISE_IP(默认转发 32400,自定义端口需在 Plex 远程访问设置中调整);LAN Networks(格式如 192.168.1.0/24,172.16.0.0/16),指定局域网网段以应用带宽控制。32400:32400/tcp:Plex 核心通信端口,必须转发;/config:Plex 数据库存储路径(需支持文件锁,不建议用 NFS/SMB 等远程文件系统,可能导致数据库损坏);/transcode:转码临时文件路径(建议单独挂载,空间需求通常为几十 GB);/data:媒体文件路径(可根据需要挂载多个目录)。推荐参数(首次运行有效):
TZ:时区(如 Asia/Shanghai,完整列表见 时区数据库);PLEX_CLAIM:验证令牌,用于关联 Plex 账户(从 Plex 官网获取);ADVERTISE_IP:仅 bridge 网络需指定,格式 http://<主机IP>:32400/;HOSTNAME:容器主机名(host 网络无需设置)。可选参数:
PLEX_UID/PLEX_GID:容器内 plex 用户的 UID/GID(用于权限匹配,见下文“用户/用户组”);CHANGE_CONFIG_DIR_OWNERSHIP:是否修改配置目录权限(默认 true,权限已正确设置时可设为 false 加速首次启动);ALLOWED_NETWORKS:无需授权即可访问的网段(如 192.168.1.0/24,建议未登录服务器时使用)。容器内 Plex 进程以 plex 用户运行,需确保该用户对挂载的媒体文件有访问权限。通过 PLEX_UID 和 PLEX_GID 可指定该用户的 UID/GID,建议与宿主机用户匹配:
id $(whoami) 获取当前用户 UID/GID,例如:
bashuid=1000(username) gid=1000(username)
-e PLEX_UID=1000 -e PLEX_GID=1000,使容器内权限与宿主机一致。Docker 镜像标签说明:
latest:最新稳定版;plexpass:运行时自动检查并安装最新 Plex Pass 版本(需登录 Plex Pass 账户);public:运行时自动检查并安装最新公开版本。注:
plexpass和public镜像不含 Plex 二进制文件,重启容器会自动更新版本。
查看所有标签:Docker Hub
容器内配置目录结构为 /config/Library/Application Support/Plex Media Server。
/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/,则需挂载 /var/lib/plexmediaserver 至容器 /config;bashmkdir -p <新目录>/Library/Application Support cp -r <现有Plex目录> <新目录>/Library/Application Support/
docker start plexdocker stop plexdocker exec -it plex /bin/bashdocker logs -f plexdocker restart plex若启动容器后出现以下错误:
s6-supervise (child): fatal: unable to exec run: Permission denied
解决方法:添加 -v /run 挂载卷(docker-compose 中添加 - /run 至 volumes)。
若未在启动时添加 PLEX_CLAIM,需通过 SSH 隧道访问 localhost:32400/web 完成首次设置:
bashssh username@服务器IP -L 32400:服务器IP:32400 -N
然后在本地浏览器访问 `[***] 进行配置。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务