plexinc/pms-docker Docker Image
Plex媒体服务器官方Docker仓库是由Plex官方提供的Docker资源库,包含官方认证的Plex Media Server Docker镜像,旨在帮助用户便捷部署和运行Plex媒体服务器,实现对电影、电视节目、音乐、照片等各类媒体文件的集中管理、智能组织与跨设备流式传输,确保部署过程的安全性、稳定性及与官方更新的同步性,是Plex用户通过Docker容器化方式搭建媒体服务的官方推荐渠道。
Plex Media Server 官方 Docker 容器
plexinc/pms-docker
通过易用的 Plex Media Server 软件及全平台 Plex 应用(支持手机、平板、流媒体设备、游戏主机、智能电视等),可随时随地向任意设备流式传输视频、音乐和照片收藏。
用法
创建容器前需选择网络类型,主要有三种:
bridge(默认)hostmacvlan
bridge:在主机内创建独立网络,通过内部路由器连接物理网络,需手动配置端口转发。
host:直接使用主机 IP,容器网络表现与主机一致。
macvlan:在网络中创建虚拟设备(容器),配置与 host 类似。
推荐优先使用 host 或 macvlan,设置简单且问题少;部分场景可能仅支持 bridge,但配置较复杂。
若使用 docker-compose,仓库提供可修改的 YML 模板文件。
Host 网络配置
bashdocker run \ -d \ --name plex \ --network=host \ -e TZ="<时区>" \ -e PLEX_CLAIM="<验证令牌>" \ -v <plex数据库路径>:/config \ -v <转码临时路径>:/transcode \ -v <媒体文件路径>:/data \ docker.xuanyuan.run/plexinc/pms-docker
Macvlan 网络配置
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 网络的区别:
- 需指定 macvlan 网络名称(如示例中的
physical); - 可选
--ip自定义容器 IP; - 需通过
-h设置主机名。
Bridge 网络配置
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 远程访问设置中调整);
-(仅 Plex Pass)服务器设置完成后,需在偏好设置中配置LAN Networks(格式如192.168.1.0/24,172.16.0.0/16),指定局域网网段以应用带宽控制。
参数说明
端口转发(-p)
32400:32400/tcp:Plex 核心通信端口,必须转发;- 其他端口(如 3005、8324 等):根据功能需求转发,详见 [Plex 网络端口说明] 。
挂载卷(-v)
/config:Plex 数据库存储路径(需支持文件锁,不建议用 NFS/SMB 等远程文件系统,可能导致数据库损坏);/transcode:转码临时文件路径(建议单独挂载,空间需求通常为几十 GB);/data:媒体文件路径(可根据需要挂载多个目录)。
环境变量(-e)
推荐参数(首次运行有效):
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。
迁移现有配置目录
- 查找现有配置目录(参考 [Plex 数据目录位置] );
- 若现有目录为
/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/,则需挂载/var/lib/plexmediaserver至容器/config; - 若目录结构不符(如 macOS),需手动创建新配置目录并复制内容:
bash
mkdir -p <新目录>/Library/Application Support cp -r <现有Plex目录> <新目录>/Library/Application Support/
常用命令
- 启动容器:
docker start plex - 停止容器:
docker stop plex - 进入容器 shell:
docker exec -it plex /bin/bash - 实时查看日志:
docker logs -f plex - 重启并更新版本(适用于 plexpass/public 标签):
docker restart plex
注意事项
Fedora/CentOS/Red Hat 权限问题
若启动容器后出现以下错误:
s6-supervise (child): fatal: unable to exec run: Permission denied
解决方法:添加 -v /run 挂载卷(docker-compose 中添加 - /run 至 volumes)。
无头服务器(host 网络)首次配置
若未在启动时添加 PLEX_CLAIM,需通过 SSH 隧道访问 localhost:32400/web 完成首次设置:
bashssh username@服务器IP -L 32400:服务器IP:32400 -N
然后在本地浏览器访问 `[] 进行配置。
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 pms-docker 镜像标签
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务
