以下是帮助您开始创建容器的示例代码片段。
兼容docker-compose v2架构。
yaml--- version: "2.1" services: jellyfin: image: linuxserver/jellyfin container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - UMASK_SET=<022> #可选 volumes: - /path/to/library:/config - path/to/tvseries:/data/tvshows - /path/to/movies:/data/movies - /opt/vc/lib:/opt/vc/lib #可选 ports: - 8096:8096 - 8920:8920 #可选 devices: - /dev/dri:/dev/dri #可选 - /dev/vc-mem:/dev/vc-mem #可选 - /dev/vchiq:/dev/vchiq #可选 - /dev/video10:/dev/video10 #可选 - /dev/video11:/dev/video11 #可选 - /dev/video12:/dev/video12 #可选 restart: unless-stopped
docker run -d \ --name=jellyfin \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -e UMASK_SET=<022> `#可选` \ -p 8096:8096 \ -p 8920:8920 `#可选` \ -v /path/to/library:/config \ -v path/to/tvseries:/data/tvshows \ -v /path/to/movies:/data/movies \ -v /opt/vc/lib:/opt/vc/lib `#可选` \ --device /dev/dri:/dev/dri `#可选` \ --device /dev/vc-mem:/dev/vc-mem `#可选` \ --device /dev/vchiq:/dev/vchiq `#可选` \ --device /dev/video10:/dev/video10 `#可选` \ --device /dev/video11:/dev/video11 `#可选` \ --device /dev/video12:/dev/video12 `#可选` \ --restart unless-stopped \ linuxserver/jellyfin
容器镜像通过运行时传递的参数进行配置(如上所示)。这些参数用冒号分隔,表示<外部>:<内部>。例如,-p 8080:80会将容器内的80端口暴露出来,可通过主机IP的8080端口访问。
| 参数 | 功能 |
|---|---|
-p 8096 | HTTP Web界面。 |
-p 8920 | HTTPS Web界面(需自行配置证书)。 |
-e PUID=1000 | 用户ID(详见下文说明) |
-e PGID=1000 | 组ID(详见下文说明) |
-e TZ=Europe/London | 指定时区,例如Europe/London |
-e UMASK_SET=<022> | Emby的权限掩码设置,默认不设置为022。 |
-v /config | Jellyfin数据存储位置。对于大型媒体库,此目录可能会非常大,50GB以上很常见。 |
-v /data/tvshows | 媒体文件存放位置。可根据需要添加多个,例如/data/movies、/data/tv等。 |
-v /data/movies | 媒体文件存放位置。可根据需要添加多个,例如/data/movies、/data/tv等。 |
-v /opt/vc/lib | 树莓派OpenMAX库路径(可选)。 |
--device /dev/dri | 仅当需要使用Intel GPU进行硬件加速视频编码(vaapi)时需要。 |
--device /dev/vc-mem | 仅当需要使用树莓派MMAL视频解码(在GUI设置中启用为OpenMax H264解码)时需要。 |
--device /dev/vchiq | 仅当需要使用树莓派OpenMax视频编码(Bellagio)时需要。 |
--device /dev/video10 | 仅当需要使用树莓派V4L2视频编码时需要。 |
--device /dev/video11 | 仅当需要使用树莓派V4L2视频编码时需要。 |
--device /dev/video12 | 仅当需要使用树莓派V4L2视频编码时需要。 |
您可以通过使用特殊前缀FILE__从文件中设置任何环境变量。
例如:
-e FILE__PASSWORD=/run/secrets/mysecretpassword
这会根据/run/secrets/mysecretpassword文件的内容设置环境变量PASSWORD。
对于我们所有的镜像,您可以使用可选的-e UMASK=022设置来覆盖容器内启动的服务的默认权限掩码。请注意,权限掩码(umask)不是chmod,它基于其值减去权限,而不是添加权限。在寻求支持之前,请先了解更多。
使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID和组PGID来避免此问题。
确保主机上的任何卷目录都由您指定的相同用户拥有,这样任何权限问题都会神奇地消失。
在本例中PUID=1000和PGID=1000,要查找您的PUID和PGID,请使用id user命令:
$ id username uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
Web界面可通过http://<您的IP>:8096访问。
更多信息可在其***文档此处找到。
使用Intel Quicksync进行硬件加速的用户需要通过在运行或创建容器时传递以下命令,将/dev/dri视频设备挂载到容器内:
--device=/dev/dri:/dev/dri
我们会自动确保容器内的abc用户具有访问此设备的适当权限。
使用Nvidia进行硬件加速的用户需要在主机上安装Nvidia提供的容器运行时,说明可在此处找到:
[***]
我们会自动添加必要的环境变量,以利用主机GPU上可用的所有功能。在主机上安装nvidia-docker后,您需要使用nvidia容器运行时--runtime=nvidia重新创建docker容器,并添加环境变量-e NVIDIA_VISIBLE_DEVICES=all(也可以设置为特定GPU的UUID,可通过运行nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv发现)。Nvidia会自动将GPU和驱动程序从主机挂载到jellyfin docker容器中。
使用树莓派MMAL/OpenMAX进行硬件加速的用户需要将/dev/vc-mem和/dev/vchiq视频设备以及系统OpenMax库挂载到容器内,方法是在运行或创建容器时传递以下选项:
--device=/dev/vc-mem:/dev/vc-mem --device=/dev/vchiq:/dev/vchiq -v /opt/vc/lib:/opt/vc/lib
使用树莓派V4L2进行硬件加速的用户需要将/dev/video1X设备挂载到容器内,方法是在运行或创建容器时传递以下选项:
--device=/dev/video10:/dev/video10 --device=/dev/video11:/dev/video11 --device=/dev/video12:/dev/video12
我们发布了各种Docker Mods,以启用容器内的其他功能。此镜像可用的Mods列表(如有)以及可应用于我们任何镜像的通用Mods可通过上方的动态徽章访问。
docker exec -it jellyfin /bin/bashdocker logs -f jellyfindocker inspect -f '{{ index .Config.Labels "build_version" }}' jellyfindocker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/jellyfin我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部的应用。除了一些例外(如nextcloud、plex),我们不建议或支持在容器内更新应用。请参考上方的应用设置部分,查看是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
docker-compose pull
docker-compose pull jellyfindocker-compose up -d
docker-compose up -d jellyfindocker image prunedocker pull linuxserver/jellyfindocker stop jellyfindocker rm jellyfin/config文件夹和设置将被保留)docker image prunedocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once jellyfin
docker image prune注意: 我们不认可将Watchtower用作现有Docker容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。但是,对于您忘记原始参数的容器,这是一个有用的一次性手动更新工具。从长远来看,我们强烈建议使用Docker Compose。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
git clone [***] cd docker-jellyfin docker build \ --no-cache \ --pull \ -t linuxserver/jellyfin:latest .
ARM变体可以使用multiarch/qemu-user-static在x86_64硬件上构建:
docker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以使用-f Dockerfile.aarch64指定要使用的dockerfile。
/config下的路径)。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429