Skip to main content

使用 Docker 运行

镜像仓库

Docker 镜像发布于:

版本标签

此镜像提供多种版本,可以通过标签获取。

标签说明
latest最新提交
MAJOR.x最新的MAJOR版本,例如0.x
x.y.z版本x.y.z

使用

这里有一些示例代码片段来帮助您开始创建一个容器。

docker create \
--name=komga \
--user 1000:1000 \
-p 25600:25600 \
--mount type=bind,source=/path/to/config,target=/config \
--mount type=bind,source=/path/to/data,target=/data \
--restart unless-stopped \
gotson/komga

然后启动容器:

docker start komga

docker compose

---
version: '3.3'
services:
komga:
image: gotson/komga
container_name: komga
volumes:
- type: bind
source: /path/to/config
target: /config
- type: bind
source: /path/to/data
target: /data
ports:
- 25600:25600
user: "1000:1000"
# remove the whole environment section if you don't need it
environment:
- TZ=Europe/London
- <ENV_VAR>=<extra configuration>
restart: unless-stopped

参数

容器镜像使用运行时传递的参数(如以上参数)进行配置。 这些参数分别用冒号分隔,表示外部:内部。 例如,-p 8080:80将使容器内的80端口可以从容器外主机IP的8080端口访问。

warning

确保/config文件夹使用本地文件系统。 不要使用任何网络共享,如CIFS 或 NFS。

参数功能
-p 25600:25600Komga API和Web 界面的端口
--user 1000:1000用户:组标识符 - 请参阅下面的说明
--mount type=bind,source=/path/to/config,target=/config数据库和 Komga 配置
--mount type=bind,source=/path/to/data,target=/data您的数据目录在磁盘上的位置。 选择一个包含您的书籍和您首选的导入位置的文件夹,以使硬链接正常工作。
指定要使用的时区,请参阅 list
任意配置环境变量

用户/组标识符

使用卷(-v参数)时,主机操作系统与容器之间可能会出现权限问题。通过指定用户 ID 和组 ID,我们可以避免此问题。

请确保主机上的所有卷目录归属于您指定的同一用户,这样权限问题就会迎刃而解。

本例中,UID=1000GID=1000。要查找您自己的 UID 和 GID,请按以下方式使用id <your_user>

$ id <your_user>
uid=1000(jdoe) gid=1000(jdgroup) groups=1000(jdgroup)

增加内存限制

默认情况下,java进程将被限制在最大内存数量(RAM),通常是1GB。 如果你在日志中遇到一些OutOfMemoryException,你可能需要增加Komga可以使用的最大内存。

要做到这一点,您可以使用JAVA_TOOL_OPTIONS=-Xmx<limit>环境变量,其中<limit>可以是 2048m4g 等数值。 例如,运行最多为4GB内存的 Komga:

JAVA_TOOL_OPTIONS=-Xmx4g

  • 容器运行时使用Shell访问:docker exec -it komga /bin/bash
  • 实时监视容器的日志:docker logs -f komga

更新

下面是更新容器的说明:

通过 Docker Run/Create

  • 更新镜像:docker pull gotson/komga
  • 停止运行中的容器:docker stop komga
  • 删除容器:docker rm komga
  • 使用与上述说明相同的参数重新创建新容器(如果正确映射到主机文件夹,你的/config文件夹和设置将被保留)
  • 启动新的容器:docker start komga
  • 你也可以删除旧的悬空镜像:docker image prune

通过 Docker Compose

  • 更新所有镜像:docker compose pull
    • 或更新单独的镜像:docker compose pulkomga
  • 让 Compose 按需更新所有容器:docker compose up -d
    • 或更新单独的容器:docker compose pulkomga
  • 你也可以删除旧的悬空镜像:docker image prune