Calibre是一款功能强大且易于使用的电子书管理器。用户评价它非常出色,是必备工具。它几乎可以完成所有与电子书相关的操作,并且比普通的电子书软件更进了一步。它完全免费且开源,适合普通用户和计算机专家使用。
!https://github.com/kovidgoyal/calibre/raw/master/resources/images/lt.png
我们利用docker manifest实现多平台支持。只需拉取lscr.io/linuxserver/calibre:latest即可获取适合您架构的正确镜像,也可以通过标签拉取特定架构的镜像。
此镜像支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
| armhf | ❌ |
此镜像设置了calibre桌面应用,并通过Guacamole服务器在浏览器中提供其界面。界面可通过http://your-ip:8080或https://your-ip:8181访问。
默认情况下,主界面没有设置密码。可选环境变量PASSWORD允许通过http认证为用户abc设置密码。
端口8081保留给Calibre的内置Web服务器,可在桌面应用设置中启用,内部端口必须设置为8081,但可以通过主机映射端口进行外部访问。
此容器基于https://github.com/linuxserver/docker-baseimage-kasmvnc%EF%BC%8C%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%E6%9C%89%E9%A2%9D%E5%A4%96%E7%9A%84%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%92%8C%E8%BF%90%E8%A1%8C%E9%85%8D%E7%BD%AE%E6%9D%A5%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E7%89%B9%E5%AE%9A%E5%8A%9F%E8%83%BD%E3%80%82
可选环境变量
| 变量 | 描述 |
|---|---|
| CUSTOM_PORT | 容器监听http的内部端口,如果需要从默认8080更改 |
| CUSTOM_HTTPS_PORT | 容器监听https的内部端口,如果需要从默认8181更改 |
| CUSTOM_USER | HTTP基本认证用户名,默认为abc |
| PASSWORD | HTTP基本认证密码,默认为abc。如果未设置,则无需认证 |
| SUBFOLDER | 应用的子文件夹(如果运行子文件夹反向代理),需要两个斜杠,例如/subfolder/ |
| TITLE | 网页浏览器上显示的页面标题,默认为"KasmVNC Client" |
| FM_HOME | 文件管理器的主目录(着陆页),默认为"/config" |
| START_DOCKER | 如果设置为false,具有特权的容器将不会自动启动DinD Docker设置 |
| DRINODE | 如果挂载/dev/dri用于DRI3 GPU加速,允许您指定要使用的设备,例如/dev/dri/renderD128 |
可选运行配置
| 变量 | 描述 |
|---|---|
--privileged | 将在容器内启动Docker in Docker (DinD)设置,以在隔离环境中使用docker。为提高性能,可将容器内的Docker目录挂载到主机,例如-v /home/user/docker-data:/var/lib/docker |
-v /var/run/docker.sock:/var/run/docker.sock | 挂载主机级别的Docker socket,以便通过CLI与其交互或使用支持Docker的应用程序 |
--device /dev/dri:/dev/dri | 将GPU挂载到容器中,可与DRINODE环境变量结合使用,以利用主机显卡进行GPU加速应用。仅支持开源驱动,例如(Intel,AMDGPU,Radeon,ATI,Nouveau) |
通过将流质量预设更改为"无损",此容器能够以高帧率向Web浏览器提供真正的无损图像,更多信息此处。要从非本地主机端点使用此模式,需要使用8181上的HTTPS端口。如果使用反向代理到8080端口,则需要设置特定的头信息,如https://github.com/linuxserver/docker-baseimage-kasmvnc#lossless%E6%89%80%E8%BF%B0%E3%80%82
为帮助您开始从此镜像创建容器,您可以使用docker-compose或docker cli。
yaml--- version: "2.1" services: calibre: image: lscr.io/linuxserver/calibre:latest container_name: calibre security_opt: - seccomp:unconfined #可选 environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - PASSWORD= #可选 - CLI_ARGS= #可选 volumes: - /path/to/data:/config ports: - 8080:8080 - 8181:8181 - 8081:8081 restart: unless-stopped
bashdocker run -d \ --name=calibre \ --security-opt seccomp=unconfined `#optional` \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e PASSWORD= `#optional` \ -e CLI_ARGS= `#optional` \ -p 8080:8080 \ -p 8181:8181 \ -p 8081:8081 \ -v /path/to/data:/config \ --restart unless-stopped \ lscr.io/linuxserver/calibre:latest
容器使用运行时传递的参数进行配置(如上所示)。这些参数用冒号分隔,表示<外部>:<内部>。例如,-p 8080:80会将容器内部的端口80暴露出来,可从主机的IP通过外部端口8080访问。
| 参数 | 功能 |
|---|---|
-p 8080 | Calibre桌面界面 |
-p 8181 | Calibre桌面界面HTTPS |
-p 8081 | Calibre Web服务器界面 |
-e PUID=1000 | 用户ID - 详见下面的说明 |
-e PGID=1000 | 组ID - 详见下面的说明 |
-e TZ=Etc/UTC | 指定要使用的时区,参见此列表 |
-e PASSWORD= | 可选,为界面设置密码 |
-e CLI_ARGS= | 可选,向calibre传递命令行启动参数 |
-v /config | Calibre存储其数据库和库的位置 |
--security-opt seccomp=unconfined | 仅适用于Docker Engine,许多现代GUI应用需要此选项才能正常运行,因为Docker不知道某些系统调用 |
您可以通过使用特殊的前缀FILE__从文件设置任何环境变量。
例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
将根据/run/secrets/mysecretvariable文件的内容设置环境变量MYVAR。
对于我们所有的镜像,您可以使用可选的-e UMASK=022设置来覆盖容器内启动的服务的默认umask设置。
请记住,umask不是chmod,它根据其值减去权限,而不是添加。在请求支持之前,请先阅读相关内容。
使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID和组PGID来避免此问题。
确保主机上的任何卷目录都由您指定的同一用户拥有,任何权限问题都将迎刃而解。
在这个例子中PUID=1000和PGID=1000,要找到您的ID,请使用id your_user,如下所示:
bashid your_user
输出示例:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=calibre&query=%24.mods%5B%27calibre%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看此容器的可用mods") https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml]([] "查看可用的通用mods")
我们发布了各种https://github.com/linuxserver/docker-mods%EF%BC%8C%E4%BB%A5%E5%9C%A8%E5%AE%B9%E5%99%A8%E5%86%85%E5%90%AF%E7%94%A8%E9%A2%9D%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%E5%8F%AF%E9%80%9A%E8%BF%87%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%8A%A8%E6%80%81%E5%BE%BD%E7%AB%A0%E8%AE%BF%E9%97%AE%E6%AD%A4%E9%95%9C%E5%83%8F%E5%8F%AF%E7%94%A8%E7%9A%84Mods%E5%88%97%E8%A1%A8%EF%BC%88%E5%A6%82%E6%9C%89%EF%BC%89%E4%BB%A5%E5%8F%8A%E5%8F%AF%E5%BA%94%E7%94%A8%E4%BA%8E%E6%88%91%E4%BB%AC%E4%BB%BB%E4%BD%95%E9%95%9C%E5%83%8F%E7%9A%84%E9%80%9A%E7%94%A8Mods%E3%80%82
容器运行时的Shell访问:
bashdocker exec -it calibre /bin/bash
实时监控容器日志:
bashdocker logs -f calibre
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' calibre
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/calibre:latest
我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部的应用程序。对于某些例外情况(如nextcloud、plex),我们不建议或支持在容器内更新应用程序。请查阅上面的应用设置部分,了解是否推荐对此镜像进行更新。
以下是更新容器的说明:
更新镜像:
所有镜像:
bashdocker-compose pull
单个镜像:
bashdocker-compose pull calibre
更新容器:
所有容器:
bashdocker-compose up -d
单个容器:
bashdocker-compose up -d calibre
您还可以删除旧的悬空镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/calibre:latest
停止运行中的容器:
bashdocker stop calibre
删除容器:
bashdocker rm calibre
使用上述相同的docker run参数重新创建新容器(如果正确映射到主机文件夹,您的/config文件夹和设置将被保留)
您还可以删除旧的悬空镜像:
bashdocker image prune
拉取其标签的最新镜像并在一次运行中替换为相同的环境变量:
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once calibre
您还可以删除旧的悬空镜像:docker image prune
警告:我们不认可使用Watchtower作为自动更新现有Docker容器的解决方案。事实上,我们通常不鼓励自动更新。但是,对于您忘记原始参数的容器,这是一个有用的一次性手动更新工具。从长远来看,我们强烈建议使用Docker Compose。
提示:我们推荐Diun用于更新通知。不推荐或支持其他自动更新容器的工具。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
bashgit clone https://github.com/linuxserver/docker-calibre.git cd docker-calibre docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/calibre:latest .
可以使用multiarch/qemu-user-static在x86_64硬件上构建ARM变体
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以使用-f Dockerfile.aarch64定义要使用的dockerfile。
Calibre。删除websocat,因为现在由基础镜像正确处理。GUAC_USER和GUAC_PASS环境变量。现有用户可以为用户abc设置新变量PASSWORD。CLI_ARGS以向calibre传递启动参数。以下是 lsiodev/calibre 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务