使用 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:25600 | Komga 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=1000、GID=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>可以是 2048m、4g 等数值。 例如,运行最多为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